Zabbix介绍
Zabbix 是C语言编写的企业级开源免费的分布式监控解决方案,可监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的健康状况和完整性。
Zabbix 使用灵活的报警通知机制,允许用户为几乎任何事件配置基于电子邮件的警报。这允许对服务器问题做出快速反应。
Zabbix 可通过存储的数据提供出色的报告和数据可视化功能。
官网地址:https://www.zabbix.com/
其它主要监控软件有:Nagios、Cacti、Ganglia、Open-Falcon、Promethues等。
Zabbix组件
zabbix agent:数据采集器,在被监控主机上采集指标数据,并将采集到的数据发送给zabbix server
zabbix server:负责接收agent发送的数据,统计数据、管理数据
zabbix database:用于存储所有zabbix的配置信息以及监控数据
zabbix web:管理员通过web界面管理、配置以及查看相关监控信息
zabbix-proxy:分布式监控,用来分担zabbix server的压力(只在大规模存在)
Zabbix重要参数信息
zabbix-server 端口:10051
zabbix-agent 端口:10050
zabbix server主配置文件:/etc/zabbix/zabbix_server.conf
zabbix agent主配置文件:/etc/zabbix/zabbix_agentd.conf
zabbix企业微信报警脚本路径:/usr/lib/zabbix/alertscripts
zabbix自定义监控项路径:/etc/zabbix/zabbix_agentd.d
zabbix日志文件路径:/var/log/zabbix/
Zabbix安装
下面的安装以Zabbix-4.4.8.tar.gz为例
install_server
yum install -y vim gcc gcc-c++ httpd mariadb mariadb-server php php-devel mysql-devel php-mysql php-gd php-xml php-bcmath php-mbstring libevent-devel zlib-devel curl-devel
useradd zabbix -s /sbin/nologin
cd /opt/ && tar xf zabbix-4.4.8.tar.gz -C /usr/local/src/
cd /usr/local/src/zabbix-4.4.8/ && ./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-libcurl && make install -j8
cp -a /usr/local/src/zabbix-4.4.8/frontends/php/* /var/www/html
sed -i "s/#ServerName www.example.com:80/ServerName 127.0.0.1:80/g" /etc/httpd/conf/httpd.conf
systemctl start mariadb && systemctl enable mariadb
mysql -e "create database zabbix character set utf8 collate utf8_bin;"
mysql -e "grant all on zabbix.* to 'zabbix'@'localhost' identified by '';"
cd /usr/local/src/zabbix-4.4.8/database/mysql/ && mysql zabbix < schema.sql && mysql zabbix < images.sql && mysql zabbix < data.sql
sed -i "s/max_execution_time = 30/max_execution_time = 300/g" /etc/php.ini
sed -i "s/max_input_time = 60/max_input_time = 600/g" /etc/php.ini
sed -i "s/post_max_size = 8M/post_max_size = 16M/g" /etc/php.ini
sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /etc/php.ini
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
cp -a /usr/local/src/zabbix-4.4.8/misc/init.d/tru64/zabbix_server /etc/init.d/
chmod +x /etc/init.d/zabbix_server
systemctl start httpd && systemctl enable httpd
systemctl stop firewalld
iptables -F
setenforce 0
install_agent
yum install -y vim gcc gcc-c++ pcre-devel
useradd zabbix -s /sbin/nologin
cd /opt/ && tar xf zabbix-4.4.8.tar.gz -C /usr/local/src/
cd /usr/local/src/zabbix-4.4.8/ && ./configure --prefix=/usr/local/zabbix --enable-agent && make install -j8
ln -s /usr/local/zabbix/sbin/zabbix_* /usr/local/sbin/
cp -a /usr/local/src/zabbix-4.4.8/misc/init.d/tru64/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd
systemctl stop firewalld
iptables -F
setenforce 0
监控对象
系统监控:CPU利用率、内存利用率、磁盘IO速度、进程数量、内核完整性等…
网络监控:网络设备进出口流量、工作负载、网络延迟、丢包率等…
消息中间件:kafka、RocketMQ、RabbitMQ等…
Web服务容器:Nginx、Tomcat、httpd、docker、kubernetes等…
数据库及缓存系统:MySQL、PostgreSQL、MongoDB、Redis、ElasticSearch等…
存储系统:Ceph
业务接口:登录数、注册数、订单量、支付数量等
定义Linux模板
配置—模板—创建模板


进入新建模板,点击自动发现规则,创建新规则:


cat discovertcpport.sh
#!/bin/bash
port_list=(`/usr/bin/netstat -lnpt|grep java|awk '{print $4}'|awk -F':' '{if ($NF~/^[0-9]*$/) print$NF}'|sort -nu`)
length=${#port_list[@]}
printf "{\n"
printf " \"data\": [ \n"
for((i=0;i<$length;i++))
do
printf "\n\t\t{"
printf " \"{#TCP_PORT}\": \"${port_list[$i]}\"}"
if [ $i -lt $[$length-1] ];then
printf ","
fi
done
printf "\n"
printf "\r\t]\n"
printf "}\n"
发现端口的脚本
vim /etc/zabbix/zabbix_agent.conf
UnsafeUserParameters=1
UserParameter=tcpportlisten,/usr/local/zabbix_agent/sbin/discovertcpport.sh “$1”
本文介绍了Zabbix,一个开源的分布式监控解决方案,用于监控网络、服务器、虚拟机、应用程序等多个层面。它提供了灵活的警报机制和丰富的数据可视化功能。Zabbix的主要组件包括agent、server、database和web界面。此外,文章还提到了重要参数信息,如端口和配置文件路径,并概述了Zabbix的安装流程。监控对象涵盖了系统、网络、消息中间件、Web服务容器、数据库、存储系统以及业务接口。



1395

被折叠的 条评论
为什么被折叠?



