zabbix介绍及安装
Zabbix简介
一、Zabbix介绍
Zabbix是一个企业级的、开源的、分布式的监控套件
Zabbix可以监控网络和服务的监控状况. Zabbix利用灵活的告警机制,允许用户对事件发送基于Email的告警. 这样可以保证快速的对问题作出响应. Zabbix可以利用存储数据提供杰出的报告及图形化方式. 这一特性将帮助用户完成容量规划.
Zabbix支持polling和trapping两种方式. 所有的Zabbix报告都可以通过配置参数在WEB前端进行访问.Web前端将帮助你在任何区域都能够迅速获得你的网络及服务状况. Zabbix可以通过尽可能的配置来扮演监控你的IT基础框架的角色,而不管你是来自于小型组织还是大规模的公司.
Zabbix是零成本的. 因为Zabbix编写和发布基于GPL V2协议. 意味着源代码是免费发布的.
Zabbix公司也提供商业化的技术支持.
二、zabbix特性
数据收集
可用性及性能检测、自定义检测、支持SNMP、IPMI、JMX监控。
灵活的阈值定义
允许灵活地自定义问题阀值,Zabbix中称为触发器(trigger), 存储在后端数据库中
高级告警配置
可以自定义告警升级(escalation)、接收者及告警方式
实时绘图
通过内置的绘图方法实现监控数据实时绘图
历史数据存储
数据存储在数据库中,历史数据可配置,有内置数据清理机制
配置简单模板使用
主机通过添加监控设备的方式添加,一次配置终生监控,同时监控设备允许使用模板。
网络自动发现
模板中可以添加组监控,同时模板可以允许继承
Zabbix-api
Zabbix api提供程序级别的访问接口,第三方程序可以很快接入;而且通过zabbix proxy可以创建远程监控。
三、 zabbix的构成
zabbix_agentd
客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等。
zabbix_get
zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。
zabbix_server
zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server;当然不是所有数据都是主动提交给zabbix_server,也有的是server主动去取数据。
zabbix_proxy
zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。
1.配置yum源
上传zabbix_Aliyun.r## 标题epo 到 /etc/yum.repos.d
2.安装zabbix
yum -y install mariadb mariadb-server zabbix-server-mysql zabbix-web-mysql zabbix-agent
3.启动数据库,并给zabbix创建数据库
systemctl start mariadb
MariaDB [(none)]> create database zabbix charset utf8;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all on zabbix.* to [email protected]‘localhost’ identified by ‘zabbix’;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> \q
Bye
4.导入zabbix初始数据:
cd /usr/share/doc/zabbix-server-mysql-4.2.8/
zcat create.sql.gz | mysql -uzabbix -pzabbix zabbix
5.告知zabbix-server mysql的信息(IP地址、用户、密码、数据库、端口)
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=1708A
DBUser=tom
DBPassword=123
6.更改时区
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
7.关闭防火墙
systemctl stop firewalld
setenforce 0
8.启动zabbix-server、zabbix-agent、httpd
systemctl restart httpd zabbix-server zabbix-agent
9.检查各个端口是否成功被监听
ss -ntl | grep 80
LISTEN 0 128 :::80 ::????
ss -ntl | grep 10051
LISTEN 0 128 :10051 :
LISTEN 0 128 :::10051 :::
ss -ntl | grep 10050
LISTEN 0 128 :10050 :
LISTEN 0 128 :::10050 :::
10.浏览器访问,完成zabbix-web的配置
根据提示配置即可
默认用户:admin 密码: zabbix查看zabbix中的乱码,并进行修改:
cd /usr/share/zabbix/fonts/
Zabbix中字体使用如下,需要进行更换。找到并上传对应的simkai.ttf字体到/usr/share/zabbix/fonts目录替换原字体,并修改/usr/share/zabbix/include/defines.inc.php文件中字体的配置,将里面关于字体设置从graphfont替换成simkai。
vi /usr/share/zabbix/include/defines.inc.ph
修改之后
**
使用zabbix监控一台主机
**
被监控端为centos6.5系统
Ip地址:192.168.152.130
Agent下载地址:https://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/
在被监控端安装zabbix-agent:
rpm -ivh zabbix-agent-3.4.5-1.el6.x86_64.rpm
修改zabbix-agent的配置文件,指定zabbix-server的IP地址:
vi /etc/zabbix/zabbix_agentd.conf
service iptables stop
setenforce 0
启动zabbix-agent
service zabbix-agent start
Zabbix-server页面端端操作
打开:配置-主机创建主机
之后选择添加即可:
点击这台主机的监控项:
原来:
点击右上角“创建监控项”添加监控项之后:
或者
下面为其添加图形:
点击右上角“创建图形”之后进行添加即可。
去查看图形:
添加触发器:
“监控项”仅负责收集数据。而通常收集数据的目的还包括在某指标对应的数据超出了合理的范围时给相关人员发送告警信息,触发器正是用于为监控项所收集的数据定义阈值。
每一个触发器仅能关联至一个监控项,但可以为一个监控项同时设置多个触发器。事实上为一个监控项设置多个具有不同阈值的触发器,可以实现不同级别的报警功能。
一个触发器由一个表达式构成,它定义了监控项所采取的数据的一个阈值。
一旦某次采集的数据超出了此触发器定义的阈值,触发器状态将会转换为“problem”;而当数据再次回归至合理的范围内时,其状态将重新返回到“ok”。
进入点击右上角“创建触发器之后”:
添加动作(执行动作)
在配置好监控项和触发器之后,一旦正常工作中的某触发器状态发生改变,一般意味着异常情况发生,此时通过需要采取一定的动作(action),如告警或者执行远程命令等。
并非所有的触发器状态改变的场景都需要对其进行干预,如转变为“ok”时,相应的如果触发器的状态转变为“problem”,就需要告知相关监控人员了。通知“notification”是zabbix中最常用的动作之一。
实现zabbix的通知功能只需两步:首先定义所需的媒介(media),即通常指发送信息的途径,如邮件、微信等;其次配置一个动作(action)发送信息至媒介。
动作由条件和操作组成,它的逻辑为当条件满足时,就执行相应的操作;如发送通知和执行远程命令是两个最基本的操作。
添加媒介:
点击右上角创建进来之后: