zabbix

了解

两个版本

  1. LTS 支持5年
  2. 标准版 支持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变量链接

posted @ 2022-04-16 10:32  lifei888  阅读(124)  评论(0)    收藏  举报