Zabbix
2019/10/12 Chenxin
参考
https://www.zabbix.com/documentation/4.0/zh/manual
https://baike.baidu.com/item/zabbix/6780368?fr=aladdin
简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
类似的产品还有Grafana,Nagios,Ganglia,Open-Falcon等.
Server安装与部署
参考 https://www.zabbix.com/download?zabbix=4.4&os_distribution=centos&os_version=8&db=mysql 安装连接说明
这里安装的最新 Zabbix-4.4 版本.
本实验地址说明
Server: 192.168.143.130
Agent: 192.168.143.130,131
一.选择平台
选择zabbix的版本/操作系统类别/操作系统版本/数据库类别等.
然后会根据用户选择不同,给出不同的安装连接说明.这里以Zabbix4.4,Centos7,mysql数据库为例.
二.根据以上选择进行安装
a. 安装Zabbix源
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm #加载zabbix的源
yum clean all
ls /etc/yum.repos.d/
... zabbix.repo #多出此文件
b. 安装Zabbix server, frontend, agent
# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent (zabbix组件,因网速问题,可能需要多次执行)
报错1.Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
说明deltarpm没有安装,执行查看包信息
yum provides '*/applydeltarpm' #查看依赖包的位置,提示如下
deltarpm-3.6-3.el7.x86_64 : Create deltas between rpms #提示需要安装的包deltarpm-3.6-3.el7.x86_64
Repo : @base
Matched from:
Filename : /usr/bin/applydeltarpm
执行安装命令
yum -y install deltarpm #安装命令
如果依旧,说明是网络问题导致(网速太慢),那么多次尝试就可以了(每次下载,进度都会增加.进入cache里)
c. 初始化数据库与导入表结构
初始化数据库(mysql版本为5.7)
create database zabbix character set utf8 collate utf8_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'sj...sg';
CREATE USER 'zabbix'@'%' IDENTIFIED BY 'sj...sg';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@localhost;
导入数据结构
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
d. 修改zabbix server的DB配置文件
vim /etc/zabbix/zabbix_server.conf
DBHost=192.168.143.130
DBPassword=xxx
DBPort=10306
DBSocket=/tmp/mysql.sock
e. 修改zabbix server前端的PHP配置文件
vim /etc/httpd/conf.d/zabbix.conf, 取消注释,并设置正确的时区(Asia/Shanghai)
php_value date.timezone Europe/Riga
f. 启动Zabbix服务器,以及Agent代理进程.设置开机自启动.
启动服务
# systemctl restart zabbix-server zabbix-agent httpd
实际调用为
/usr/sbin/zabbix_server -c /etc/zabbix/zabbix_server.conf
/usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
/usr/sbin/httpd
设置开机自启动
# systemctl enable zabbix-server zabbix-agent httpd
进程开放端口说明
zabbix_agentd 10050
zabbix_server 10051
httpd 80
经过以上步骤,zabbix就跑起来了.
配置Zabbix前端(前端进入配置)
http://192.168.143.130/zabbix
配置方式可以参考 https://www.zabbix.com/documentation/4.4/manual/installation/install#installing_frontend 链接中关于前端配置的截屏说明.
或按照如下流程(与官网一样).
流程说明
1.进入welcome页面
2.确认所有相关插件是否已经安装完成,如果有未完成的,可以手动安装.
3.进入DB配置界面,输入Zabbix数据库的IP,PORT,dbname,username,password.
4.输入zabbix server的相关信息(主机名/IP,开放端口10051,Name可以为空).
完成后页面提示如下
Congratulations! You have successfully installed Zabbix frontend.
Configuration file "/etc/zabbix/web/zabbix.conf.php" created.
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '192.168.143.130';
$DB['PORT'] = '10306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'sj...sg';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = '192.168.143.130';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
首次登陆
首次登陆zabbix web,账户Admin(注意"A"大写),密码zabbix.
使用Zabbix
https://www.zabbix.com/documentation/4.4/manual/quickstart/login
另外也有视频教程.
主要是监控项目的查看.
DashBoard的创建.
客户端的添加.
客户端关停后,"监控"->"仪表"/"问题"均有显示异常的说明(某主机宕机).
模板的使用(关联,新建)
报警使用.
Zabbix的客户端(agent)单独安装/主机的创建
被监控主机IP: 192.168.143.131
1安装Agent代理
rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
yum clean all
yum install zabbix-agent -y #网络原因,可能需要多次执行
2.修改配置文件
cat zabbix_agentd.conf |grep -v -E "(^#|^$)"
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1 # 修改为192.168.143.130
ServerActive=127.0.0.1 # 修改为192.168.143.130
Hostname=Zabbix server # 这里可以改为其他名字
Include=/etc/zabbix/zabbix_agentd.d/*.conf
3.到zabbix-web上配置主机
选择"配置"->"主机"->"创建主机".然后
选择"主机"列,输入主机名称,群组(提前建好),主机IP和端口
选择"模板"列,选择对应模板(监控项).
点击"添加".
然后到"监控"->"最新数据"中去查看数据获取是否正常.
Zabbix相关目录与文件说明
1.重要目录说明
/etc/zabbix #含zabbix_agentd.conf,zabbix_agentd.d/,zabbix_server.conf
/etc/httpd/conf.d/zabbix.conf #http配置
/usr/share/zabbix/ #web根目录
/var/log/zabbix/ #日志存放目录
2.其他相关目录(省略了lib目录,man,doc目录)
/usr/lib/systemd/system/zabbix-server.service,zabbix-agent.service #服务
/usr/sbin/zabbix_server,zabbix_server_mysql,zabbix_agentd #二进制
/etc/yum.repos.d/zabbix.repo # 源
/etc/logrotate.d/zabbix-server,zabbix-agent #日志回滚方式
/etc/selinux/targeted/active/modules/100/zabbix/ # 二进制
/run/zabbix #运行目录
用户管理
支持本地用户和群组的管理.
支持LDAP,具体配置略.
报警
支持Mail/GSM-modem(硬件连接服务器)方式.
其他说明
监控页面控制台支持中文.
支持页面主题变更.