一.简介 是一个基于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.sql5)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 httpd6)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 httpd7)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 02)准备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 建议使用 $HOSTNAME5)启动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)) 服务器是100513.命令行测试
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.