zabbix
了解
两个版本
- LTS 支持5年
- 标准版 支持7个月
我们以4.0 版本做为培训
从1.8开始 >2.0 >2.2(火)>2.4(短)>3.0(lts)>3.2>3.4
安装步骤
下载安装包
下载链接
wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm
安装
下载安装包
rpm -ivh zabbix-release-6.0-1.el7.noarch.rpm
rpm -ql zabbix-release #查看安装包对应的文件
更新yum 文件,并将gpgcheck 值改为0
开始安装
两种角色zabbix-server ,zabbix-web ,都支持两种数据库 mysql 和pgsql。
yum -y install zabbix-server-mysql zabbix-web-mysql #zabbix 组件
yum -y install maridb-server.x86_64
启动数据库服务
systemctl start maridb.service
systemctl enable maridb.service #开机自启
数据库安全初始化
mysql_secure_installation
创建数据库并授权
执行mysql后,执行如下命令
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
导入zabbix数据结构表和初始化数据
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz |mysql -uzabbix -p '123456' zabbix
# 结果验证
mysql zabbix -e 'show tables
修改zabbix配置
vi /etc/zabbix/zabbix_server.conf
修改数据库服务器ip,帐号,密码

启动zabbix-server
systemctl start zabbix-server
systemctl enable zabbix-server
注:启动后会监听10051端口
修改php 对应的时区选项
vi /etc/httpd/conf.d/zabbix.conf # 或者修改/etc/php.ini 文件 里面对应选项

后重启httpd
systemctl restart httpd.service
web 访问 ,初始化zabbix 登陆
此步骤会生成配置文件 /etc/zabbix/web/zabbix.conf.web
监控
监视,控制
out of memory
ab -n 30000 -c 300 http://http😕/103.231.66.202/zabbix/index.php
注:总共发起30万请求,一次请求300个。
swapoff -a #关掉swap
linux 常用监控命令

zabbix监控架构
zabbix 端口聚合脚本生成
# 获取端口描述
[root@localhost ~]# cat todo_getsnmp1.sh
#!/bin/bash
if [[ $# -ne 2 ]]; then
echo -e "\033[1;31m";
echo "argement not match";
echo "only two args";
echo "first is commnuity";
echo "second is host ip address";
echo "over";
echo -e "\033[0;m";
exit 1;
fi
com=$1
ipaddr=$2
ifSfn="/tmp/$(uuidgen)";
ifDfn="/tmp/$(uuidgen)";
ifAfn="/tmp/$(uuidgen)";
snmpwalk -v 2c -c $com $ipaddr ifOperStatus | grep "INTEGER: up" > ${ifSfn};
snmpwalk -v 2c -c $com $ipaddr ifDescr > ${ifDfn} ;
snmpwalk -v 2c -c $com $ipaddr ifAlias > ${ifAfn} ;
sed -i "s/ //g" ${ifSfn};
sed -i "s/ //g" ${ifDfn};
sed -i "s/ //g" ${ifAfn};
tmpResult="";
for i in $(cat ${ifSfn}); do
tmpVar1=$(echo $i | sed -r 's/^.*\.([0-9]+)=.*$/\1/g');
tmpResult="${tmpResult}ID: ${tmpVar1}, $(grep ifDescr.${tmpVar1}= $ifDfn | awk -F: '{print $4}'), $(grep -i ifAlias.${tmpVar1}= $ifAfn | awk -F "=STRING:" '{print $2}')\n"
# tmpResult="${tmpResult}ID: ${tmpVar1}, $(grep -i ifAlias.${tmpVar1}= $ifAfn | awk -F: '{print $4}')\n"
done
echo -e $tmpResult | grep -v -i "Vlan"
rm -rf ${ifSfn} ${ifDfn} ${ifAfn};
# 生成zabbix键值
def linshi():
num=140
lines=[]
devname='GD-ZS-BoAi_IDC-CE8850-1'
for line in open('aa.txt'):
line=line.strip()
if not line:continue
port=line.split()[1]
des=line.split()[-1]
line=devname+':ifOutOctets['+port+','+des+']'
line='last("'+line+'",0)'
lines.append(line)
print '+'.join(lines)
zabbix 监控项
icmpping[<target>,<packets>,<interval>,<size>,<timeout>] Checks if server is accessible by ICMP ping. 0 - ICMP ping fails. 1 - ICMP ping successful.
icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>]
icmpping[<target>,<packets>,<interval>,<size>,<timeout>]
参考链接
zabbix参考链接
ubuntn升级mariadb
zabbix支持中文配置
ubuntu阿里源配置
中文图乱码解决
zabbix变量链接

浙公网安备 33010602011771号