1. 总结各系统版本的zabbix安装。
一.二进制包安装
官方下载地址https://www.zabbix.com/download
安装配置数据库
修改前端配置
例:
centos8安裝zabbix
监控端配置
1.安装Zabbix库
# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
# dnf clean all
2.安装Zabbix server,连接Web前端,agent客户端 mysql连接插件
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent zabbix-get mysql-server
3.启动数据库服务,创建zabbix使用数据库,账号及授权
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@'192.168.29.%' identified by '123456';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> exit;
4.导入初始架构和数据,系统将提示您输入新创建的密码。
# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
5.导入数据库架构后禁用log_bin_trust_function_creators选项。
mysql> set global log_bin_trust_function_creators = 0;
6.为Zabbix server配置数据库
编辑配置文件 /etc/zabbix/zabbix_server.conf
DBPassword=password
7.为Zabbix前端配置PHP
编辑配置文件 /etc/nginx/conf.d/zabbix.conf 取消注释并设置“listen”和“server_name”指令。
# listen 8080;
# server_name example.com;
8.启动Zabbix server和agent进程
启动Zabbix server和agent进程,并为它们设置开机自启:
# systemctl restart zabbix-server zabbix-agent nginx php-fpm
# systemctl enable zabbix-server zabbix-agent nginx php-fpm
9.修复中文字体不显示bug,将windos中的中文字体上传到zabbix服务器上
cd /usr/share/zabbix/assets/fonts/
mv graphfont.ttf graphfont.ttf.bak
mv /root/simkai.ttf graphfont.ttf
被监控端配置:
客户端agent下载地址:https://www.zabbix.com/cn/download?zabbix=6.0&os_distribution=rocky_linux&os_version=8&components=agent&db=&ws=
1.安装Zabbix库
#rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/8/x86_64/zabbix-release-6.0-4.el8.noarch.rpm
2.安装Zabbix agent
# dnf install zabbix-agent
3.修改配置文件中监控端地址或域名指向
vim /etc/zabbix/zabbix_agentd.conf
Server=ip/zabbix.liguox.org
4.启动Zabbix agent进程,使其在系统启动时启动。
# systemctl restart zabbix-agent
# systemctl enable zabbix-agent
二.编译安装(centos)
1.安装相关程序yum -y install gcc pcre-devel libxml2-devel php-bcmath
php-mbstring net-snmp net-snmp-devel curl-devel php php-gd php-xml libevent-devel
java-1.8.0-openjdk-devel mariadb mariadb-devel
2.创建用户和组
groupadd zabbix
#useradd -g zabbix zabbix
3.解压源码包,并进入到zabbix目录进行编译
#./configure --prefix=/apps/zabbix_server --
enable-server --enable-agent --enable-java --with-mysql --with-net-snmp --
with-libcurl --with-libxml
make -j 2
make install
4.创建软连接或者定义环境变量
#ln -s /apps/zabbix_server/sbin/* /usr/sbin/
#ln -s /apps/zabbix_server/bin/* /usr/bin/
#echo 'PATH=/apps/zabbix_server/bin:$PATH' >
/etc/profile.d/zabbix.sh
#. /etc/profile.d/zabbix.sh
5.安装数据库并初始化数据库
6.修改zabbix server配置文件配置数据库链接账号密码
三.容器安装
1.创建zabbix组将容器专用网络
2.通过zabbix专用网络启动mysql容器,zabbix-java-gateway容器,zabbix-server-mysql容器,zabbix web容器,zabbix agent容器
2. 总结 zabbix主动模式和被动模式简介及实现
被动模式: Server 向 Agent 请求获取监控项的数据,Agent返回数据。此为默认模式,如果有100个
监控项,则需要100次交互
主动模式: Agent 请求 Server 获取主动的监控项列表,并主动将监控项内需要检测的数据提交给
server/proxy,如有100个监控项,只需要1次交互即可
被动模式:
默认模式,只需要在被监控服务器zabbix_agentd.conf文件中Option: Server相关内容中添加监控服务器ip
### Option: Server
.............
Server=192.168.29.225
主动模式:
1.需要在被监控服务器zabbix_agentd.conf文件中 Active checks related、 Option: Hostname添加监控服务器信息
2.前端页面中更新模版为active监控模版
##### Active checks related
ServerActive=192.168.29.225
### Option: Hostname
Hostname=192.168.29.225
3. 总结 zabbix proxy主动及被动案例
1.安装zabbix proxy和proxy代理用的mysql
2.修改zabbix_proxy.conf配置文件
ProxyMode=0 #主动模式为0,被动模式为1,默认为0即主动模式
Server=192.168.29.225 #指向Zabbix Server
Hostname=zabbix-proxy-active #此名称必须和后面Web管理页的agent代理程序名称相同
DBHost=localhost #MySQL服务器地址
DBName=zabbix_proxy_active #MySQL数据库名
DBUser=proxy #连接MySQL的用户
DBPassword=123456 #连接MySQL的用户密码
3.修改proxy代理监控的agent服务器上的配置文件,server地址指向proxy
4.zabbix前端页面添加proxy代理信息,配置agent时勾选对应agent代理监测
4. 总结自定义监控,监控win, nginx, 并基于短信/微信报警。
一、自定义监控项
1.创建自定义模版相关配置,修改agent配置文件
### Option: User
Include=/etc/zabbix/zabbix_agentd.d/*.conf
├── zabbix_agentd.d
│ └── test.conf
2.创建自定义监控项
UserParameter=<key>,<shell command>
UserParameter=mysql.ping[*],mysqladmin -u$1 -p$2 ping 2> /dev/null|grep -c alive
二、监控windows/nginx
选择监控主机、关联windows/nginx监控模版
三、报警
开启有序通知功能
创建报警媒介、添加消息模版用于发送信息
用户管理报警媒介
创建动作实现条件触发
5. 完成1键安装zabbix agent脚本,可以用于ubuntu系统。
ZABBIX_VER=
FILE=zabbix-${ZABBIX_VER}.tar.gz
INSTALL_DIR=/apps/zabbix_agent
SERVER=
HOST=`hostname -I`
. /etc/os-release
color () {
RES_COL=60
MOVE_TO_COL="echo -en \\033[${RES_COL}G"
SETCOLOR_SUCCESS="echo -en \\033[1;32m"
SETCOLOR_FAILURE="echo -en \\033[1;31m"
SETCOLOR_WARNING="echo -en \\033[1;33m"
SETCOLOR_NORMAL="echo -en \E[0m"
echo -n "$1" && $MOVE_TO_COL
echo -n "["
if [ $2 = "success" -o $2 = "0" ] ;then
${SETCOLOR_SUCCESS}
echo -n $" OK "
elif [ $2 = "failure" -o $2 = "1" ] ;then
${SETCOLOR_FAILURE}
echo -n $"FAILED"
else
${SETCOLOR_WARNING}
echo -n $"WARNING"
fi
${SETCOLOR_NORMAL}
echo -n "]"
echo
}
check(){
wget
https://cdn.zabbix.com/zabbix/sources/stable/${ZABBIX_VER%.*}/zabbix-$ZABBIX_VER
.tar.gz
[ -e ${FILE} ] || { color "$FILE 文件不存在,请检查" 1 ; exit 1; }
}
prepare (){
if [ $ID = "centos" $ID = "rocky" ];then
yum -y install gcc make pcre-devel || { color "zabbix agent 相关包安装失
败,请检查" 1 ;exit; }
else
apt -y install gcc make || { color "zabbix agent 相关包安装失败,请检查" 1
;exit; }
fi
id zabbix &> /dev/null || useradd -r zabbix
}
install() {
tar xf $FILE
cd zabbix-$ZABBIX_VER
./configure --prefix=${INSTALL_DIR} --enable-agent
make && make install
}
config () {
sed -i.bak -e "s/Server=127.0.0.1/Server=$SERVER/" -e "s/Hostname=Zabbix
server/Hostname=$HOST/" ${INSTALL_DIR}/etc/zabbix_agentd.conf
echo 'PATH=${INSTALL_DIR}/bin/:${INSTALL_DIR}/sbin/:$PATH' >
/etc/profile.d/zabbix_agent.sh
}
service (){
cat > /lib/systemd/system/zabbix-agent.service <<EOF
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=${INSTALL_DIR}/sbin/zabbix_agentd -c
${INSTALL_DIR}/etc/zabbix_agentd.conf
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now zabbix-agent.service
systemctl is-active zabbix-agent.service && color "Zabbix Agent 安装完成并启动"
0
}
check
prepare
install
config
service
6. 完成1键脚本,可以基于zabbix api添加zabbix agent到zabbix web。