监控项目的多种方式
- simple check:被监控的服务器无需安装客户端,如ping、端口检测之类
- zabbix agent:被动式监控服务器
- zabbix agent(active):主动式监控服务器
- snmp check:使用snmp协议去获取监控信息
- zabbix trapper:主动式监控
- External check:zabbix server上可编写监控脚本
- Jmx agent:监控java进程
实战环境
- zabbix server:192.168.3.111
- 被监控服务器:192.168.3.199(www_001),192.168.3.198(www_002)
客户端监控优势(对比简单监控)
- 能获得更多的服务器信息,例如cpu、内存等
- zabbix客户端内置了很多key,方便我们监控基本硬件信息
- zabbix客户端能够自定义监控,方便我们监控部署的应用
zabbix agent编译安装
yum install -y gcc gcc-c++ make pcre-devel
useradd -s /sbin/nologin zabbix
cd /usr/local/src
wget "https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.4.4/zabbix-4.4.4.tar.gz"
tar -zxvf zabbix-4.4.4.tar.gz
cd zabbix-4.4.4
./configure --prefix=/usr/local/zabbix --enable-agent
make && make install
chown zabbix:zabbix -R /usr/local/zabbix
环境变量
echo "export PATH=$PATH:/usr/local/zabbix/sbin:/usr/local/zabbix/bin" >>/etc/profile && source /etc/profile
zabbix agent配置
Hostname建议跟web端配置相同,同时建议与被监控服务器系统主机名相同(设置主机名hostnamectl set-hostname www_001)
Server(被动式,允许serverIP来访问我)和ServerActive(主动式,将数据上传给serverIP)上配置的是zabbix server的ip
cat >/usr/local/zabbix/etc/zabbix_agentd.conf <<EOF
PidFile=/usr/local/zabbix/zabbix_agentd.pid
LogFile=/usr/local/zabbix/zabbix_agentd.log
Hostname=www_00
Server=192.168.3.111
ServerActive=192.168.3.111
UnsafeUserParameters=1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
EOF
zabbix agent启动
mkdir /usr/local/zabbix/etc/zabbix_agentd.conf.d
zabbix_agentd
验证zabbix agent是否成功启动
- 日志 tail -f /usr/local/zabbix/zabbix_agentd.log
- 进程 ps auxf | grep zabbix
- 端口(10050) netstat -tulnp | grep zabbix
使用systemctl管理zabbix_agentd
cat >/usr/lib/systemd/system/zabbix_agentd.service <<EOF
[Unit]
Description=zabbix_agentd
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/php/sbin/zabbix_agentd
[Install]
WantedBy=multi-user.target
EOF