一、Zabbix概述
1.简介
zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix 能监视各种网络参数,保证服务器系统的安全运营,提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。
通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。
zabbix server 可以通过 SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能, 它可以运行在 Linux 等平台上。
zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集。
2.zabbix组件
zabbix_server、zabbix_agent、zabbix_proxy、zabbix_get、zabbix_sender 等。
zabbix server
zabbix服务端进程,配置和管理zabbix应用程序,也是监控系统的告警中心(配置监控项告警触发器阈值和发送告警)。
端口10050
zabbix agent
部署在被监控主机上,采集监控指标数据,发送给zabbix server
zabbix proxy
zabbix代理端进程,部署在zabbix server与zabbix agent之间,代替zabbix server收集zabbix agent发送的监控指标数据,汇总后再转发给 zabbix server,分担zabbix server的集中式负载压力。
端口10051
zabbix database(mysql oracle postgreSQL tsdb等)
持久化存储配置信息和监控指标数据。
zabbix web(apache/nginx + php)
进行zabbix服务端配置和监控数据的UI界面展示。
zabbix java gateway
作为获取从java应用采集的监控指标数据的代理端。
端口10052
3.工作原理
zabbix agent
会定期采集被监控主机的指标数据并发送给zabbix server
;
zabbix server
收到数据后会将数据存储到zabbix database
中;
管理员可基于zabbix web前端
查看监控数据的图像。
4.端口号
组件 | 端口号 |
---|---|
zabbix server |
10051 |
zabbix agent |
10050 |
5.zabbix中预设的键值
agent.ping #服务端与客户端是否连通,返回1表示可达,返回非表示不可达 system.hostname #系统主机名 agent.hostname #客户端主机名 net.if.in[if,<mode>] #网络接口进入的流量统计,if表示网卡名称,带<>的参数表示可以省略 net.if.out[if,<mode>] #网络接口流出的流量统计 proc.num[<name>,<user>,<state>,<cmdline>,<zone>] #进程数 net.tcp.port[<ip>,port] #检查是否能建立tcp连接到指定端口,返回0表示不能连接,返回1表示可以连接
如果没有想要的功能,需要自定义键值。
二、部署安装zabbix
1.编译安装
官方手册
https://www.zabbix.com/documentation/4.0/zh/manual/installation/install
解决依赖关系
yum install gcc libxml2-devel net-snmp net-snmp-devel curl curl-devel php php-bcmath php-mbstring mariadb mariadb-devel libevent-devel java-1.8.0-openjdk-devel -y
建立管理用户
groupadd zabbix useradd -g zabbix zabbix
解压包
cd /opt #切换目录 wget https://cdn.zabbix.com/zabbix/sources/stable/4.0/zabbix-4.0.30.tar.gz #下载安装包 tar xf zabbix-4.0.30.tar.gz #解压
编译安装服务端
cd zabbix-4.0.30
./configure --help #可以查看帮助 ./configure --prefix=/apps/zabbix_server --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java make make install
添加客户端
./configure --prefix=/apps/zabbix --enable-agent 在别的机器上 客户机需要安装的 客户端
安装数据库
数据库可以安装在本地也可以分离
yum install mariadb-server.x86_64 -y systemctl start mariadb mysql_secure_installation 安全加固脚本 mysql -uroot -p create database zabbix character set utf8 collate utf8_bin; #创建数据库命令 create user zabbix@localhost identified by 'zabbix'; #创建用户命令 grant all privileges on zabbix.* to zabbix@localhost; #授予权限 set global log_bin_trust_function_creators = 1; 设置全局变量 quit;
导入 zabbix 数据库文件
cd /opt/zabbix-4.0.30/database/mysql mysql -uzabbix -pzabbix zabbix < schema.sql mysql -uzabbix -pzabbix zabbix < images.sql mysql -uzabbix -pzabbix zabbix < data.sql ###必须最后 导入 data.sql
安装web apache
yum install httpd -y systemctl start httpd cd /opt/zabbix-4.0.30/frontends/php/ cp -a . /var/www/html/zabbix/ # 将前端页面拷贝过去
修改zabbix配置
vim /apps/zabbix_server/etc/zabbix_server.conf # grep "^[a-Z]" /apps/zabbix_server/etc/zabbix_server.conf LogFile=/tmp/zabbix_server.log DBName=zabbix_server DBUser=zabbix DBPassword=zabbix LogSlowQueries=3000 118 行修改 下 密码 其他不用修改 118 DBPassword= zabbix #启动 zabbixserver 和 zabbixagented /apps/zabbix_server/sbin/zabbix_server /apps/zabbix_server/sbin/zabbix_agentd
打开浏览器 访问 192.168.100.155/zabbix
升级php版本
yum install php-gettext php-xml php-net-socket php-gd php-mysql -y 修改php 软件的配置 vim /etc/php.ini 384 max_execution_time = 300 394max_input_time = 600 672 post_max_size = 16M 878 date.timezone = Asia/Shanghai #改完 以后 systemctl restart httpd
默认用户名:Admin 密码: zabbix
准备service文件
#先停止 zabbix-server pkill zabbix_server vim /usr/lib/systemd/system/zabbix-server.service [Unit] Description=Zabbix Server After=syslog.target After=network.target [Service] Environment="CONFFILE=/apps/zabbix_server/etc/zabbix_server.conf" EnvironmentFile=-/etc/default/zabbix-server Type=forking Restart=on-failure PIDFile=/tmp/zabbix_server.pid KillMode=control-group ExecStart=/apps/zabbix_server/sbin/zabbix_server -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s TimeoutSec=infinity [Install] WantedBy=multi-user.target chown zabbix:zabbix /apps/zabbix_server/ -R systemctl daemon-reload systemctl start zabbix-server.service systemctl status zabbix-server.service
#先停止当前zabbix_agent进程 10050端口 pkill zabbix_agentd vim /usr/lib/systemd/system/zabbix-agent.service [Unit] Description=Zabbix Agent After=syslog.target After=network.target [Service] Environment="CONFFILE=apps/zabbix/etc/zabbix_agentd.conf" EnvironmentFile=-/etc/default/zabbix-agent Type=forking Restart=on-failure PIDFile=/tmp/zabbix_agentd.pid KillMode=control-group ExecStart=/apps/zabbix/sbin/zabbix_agentd -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s User=zabbix Group=zabbix [Install] WantedBy=multi-user.target
systemctl restart zabbix-agent && systemctl enable zabbix-agent
标签:--,apps,zabbix,agent,server,Zabbix,php From: https://www.cnblogs.com/hxqwe/p/18315063