一.简介
是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
二.监控对象
源代码: *.html *.jsp *.php *.py
数据库: MySQL,MariaDB,Oracle,SQL Server,DB2
应用软件:Nginx,Apache,PHP,Tomcat agent
-------------------------------------------------------------------------------------------------------------------------------
集群: LVS,Keepalived,HAproxy,RHCS,F5
虚拟化层/云层: VMware,KVM,XEN agent
操作系统:Linux,Unix,Windows性能参数
-------------------------------------------------------------------------------------------------------------------------------
硬件: 服务器,存储 IPMI
网络: 网络环境(路由器,交换机,防火墙,内网环境,外网环境) SNMP
三.zabbix优点
开源,无软件成本投入
Server 对设备性能要求低
支持设备多,自带多种监控模板
支持分布式集中管理,有自动发现功能,可以实现自动化监控
当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动 从server 端去下载需要监控的item 然后取数据上传到 server 端。 这种方式对服务器的负载比较小。
Api 的支持,方便与其他系统结合
四.zabbix缺点
需在被监控主机上安装 agent,所有数据都存在数据库里,产生的数据很大,瓶颈主要在数据库。
五.监控收集信息方式
被动模式和主动模式
六.zabbix部署
1.zabbix-server(192.168.152.130)
1)官网
https://www.zabbix.com/documentation/4.4
2)环境
IP 主机名 角色
192.168.152.130 zabbix_server 监控服务器
192.168.152.131 web1 业务主机
3)Installing Zabbix packages 安装zabbix包
1.设置主机名
hostnamectl set-hostname zabbix_server
防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
selinux
setenforce 0
永久关闭
2.准备Zabbix-repo(略)
rpm -ivh http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
国外镜像特别慢,可以使用阿里提供的zabbixYUM源。在epel中就有40版本
3.安装Zabbix服务器
yum -y install zabbix40-server-mysql zabbix40-web-mysql zabbix40-agent
zabbix-server-mysql:数据库
zabbix-web-mysql:WEB
zabbi-agent:代理程序(上报信息的程序)
4)Creating initial database 创建初始数据库
Creating initial database
1.安装数据库
yum -y install mariadb mariadb-server
2.启动数据库
systemctl enable mariadb
systemctl start mariadb
3.授权zabbix账号
mysql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'qianfeng';
flush privileges;
4.初始化zabbix
注意这是4.0的版本,其他版本观看手册
注意版本号
[root@zabbix_server ~]# mysql -uzabbix -pqianfeng zabbix </usr/share/zabbix-mysql/schema.sql
[root@zabbix_server ~]# mysql -uzabbix -pqianfeng zabbix </usr/share/zabbix-mysql/images.sql
[root@zabbix_server ~]# mysql -uzabbix -pqianfeng zabbix </usr/share/zabbix-mysql/data.sql
5)Starting Zabbix server process 正在启动Zabbix服务器进程
Starting Zabbix server process
配置sql账号密码
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=qianfeng
这里是刚刚授权的密码。
启动zabbix
systemctl enable zabbix-server-mysql.service zabbix-agent.service httpd
systemctl start zabbix-server-mysql.service zabbix-agent.service httpd
6)Editing PHP configuration for Zabbix frontend 编辑Zabbix前端的PHP配置
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
默认值,只需要配置时区。
systemctl enable httpd
systemctl restart httpd
7)http://zabbix-server-ip/zabbix 浏览器输入地址访问
php检测
数据库信息1
数据库信息2(报错提示)
服务器命名
汇总
登录
用户名: Admin
密码: zabbix
语言和乱码 administration>users>admin user 右上角用户图标,更换语言
设置中文后,查看图形有乱码,文字变成了方块
解决方案
Win+R打开运行,输入fonts,回车进入Windows字体目录,找到微软雅黑-常规字体,复制出来将文件名修改为msyh.ttf,注意后缀ttf
将msyh.ttf上传到服务器zabbix字体目录中:/usr/share/zabbix/assets/fonts/
注意文件权限
chmod 777 /usr/share/zabbix/assets/fonts/msyh.ttf
查看字体配置# grep FONT_NAME /usr/share/zabbix/include/defines.inc.php -n
执行快捷替换
sed -i "s/DejaVuSans/msyh/g" /usr/share/zabbix/include/defines.inc.php
确认是否替换成功
grep FONT_NAME /usr/share/zabbix/include/defines.inc.php -n
45:define('ZBX_GRAPH_FONT_NAME', 'msyh'); // font file name
93:define('ZBX_FONT_NAME', 'msyh');
字体配置修改成功后,刷新图形界面即可看到图形字体显示正常了。
2.zabbix-agent(192.168.152.131)
1)设置主机名
设置主机名
hostnamectl set-hostname web1
防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
selinux
setenforce 0
2)准备zabbix-repo(略)
rpm -ivh http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
使用epel源中的zabbix40版本
3) 安装zabbix-agent
yum -y install zabbix40-agent 取消校验gpgcheck=0
4)配置代理
vim /etc/zabbix/zabbix_agentd.conf
说明:192.168.152.130是zabbix服务器的地址
Server=192.168.152.130 被动模式 zabbix-server-ip
ServerActive=192.168.152.130 主动模式 zabbix-server-ip(谁从我这里采集数据。)
Hostname=web1 建议使用 $HOSTNAME
5)启动zabbix-agent:10050
systemctl start zabbix-agent
systemctl enable zabbix-agent
ss -anlp |grep :10050
("zabbix_agentd",1220,5),("zabbix_agentd",1221,5),("zabbix_agentd",1222,5))
LISTEN 0 128 *:10050 *:* users:(("zabbix_agentd",1217,4),("zabbix_agentd",1218,4),("zabbix_agentd",1219,4),("zabbix_agentd",1220,4),("zabbix_agentd",1221,4),("zabbix_agentd",1222,4))
服务器是10051
3.命令行测试
zabbix_get (命令行监控)(在服务器上:192.168.152.130)
通过zabbix_get 收集客户端数据 <key>
zabbix-server:
zabbix默认key
zabbix_get -s 192.168.100.131 -k system.uname
zabbix_get -s 192.168.100.131 -k system.cpu.load[all,avg15]
zabbix_get -s 192.168.100.131 -k net.tcp.service[http]
0假
1真
zabbix_get -s 192.168.100.131 -k net.tcp.service[ftp]
自定义的key
自定义的key,例如针对TCP连接、MySQL增删改查....
zabbix_get -s 192.168.100.131 -k mem.free
ZBX_NOTSUPPORTED: Unsupported item key.
zabbix_get -s 192.168.100.131 -k memory.free
ZBX_NOTSUPPORTED: Unsupported item key.