美文网首页
zabbix监控

zabbix监控

作者: 不知道就 | 来源:发表于2019-08-09 22:39 被阅读0次

    一、什么是监控,为什么需要监控

    监控: 监视,控制
    随着用户的增多,服务随时可能会被系统硬件的不支持的服务会挂掉。
    那么你怎么判断的,web服务的正常状态,web服务是因为用户的访问过多,达到瓶颈?
    还是程序代码出现了bug导致的,内存不足?
    

    二、常见的Linux的监控命令

    free   df  top htop uptime  iftop
    iostat  vmstat  netstat  nethogs
    总结:这些命令都是监控的系统的cpu ,内存 ,硬盘,网络
    

    三、如何使用脚本来进行监控

    例如:
    内存:每隔1分钟监控一次内存,当你的可用的内存低于100mb,就发邮件报警,要求显示剩余的内存值
    
    #!/bin/bash
    while true
    do
    Free=`free -m | awk 'NR==2{print $NF}'`
    if [ $Free -lt 100 ]
    then
    echo $Free | mail -s "当前内存" liqiandliumeiling@163.com
    fi
    sleep 60
    done
    
    #这个是我写的脚本
    模拟一下用户返问过多的来进行一个压力测试
    ab -n 10000 -c 3 http://10.0.0.100/zabbix/index.php
    

    四、zabbix的基础服务架构

    image.png

    五、zabbix的安装及配置

    ip地址: 10.0.0.61 硬件配置1G内存1个CPU  主机名:zabbix-server
    
    1、 配置zabbix的yum仓库
    wget http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
    
    rpm -ivh zabbix-release-4.0-1.el7.noarch.rpm
    ###配置他的zabbix的yum源,(默认用的是国外的地址)为了更快的安装这了把地址改成了清华源地址
    
    [root@zabbix-server ~]# cat /etc/yum.repos.d/zabbix.repo
    [zabbix]
    name=Zabbix Official Repository - $basearch
    baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
    [zabbix-non-supported]
    name=Zabbix Official Repository non-supported - $basearch
    baseurl=https://mirror.tuna.tsinghua.edu.cn/zabbix/non-supported/rhel/7/$basearch/
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
    gpgcheck=1
    
    
    2:安装zabbix服务端和zabbix-web前端
    yum install zabbix-server-mysql zabbix-web-mysql -y
    
    
    3:安装mariadb,创建zabbix库,授权zabbix用户
    yum install mariadb-server -y
    systemctl start mariadb
    systemctl enable mariadb
    mysql_secure_installation(这个是数据库的安全认证)
    
    
    配置完成 以后就进入数据库创建数据库的zabbix转用的库的及数据库的用户
    mysql
    MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
    MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
    
    
    导入zabbix表结构和初始数据
    zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p123456  zabbix
    ####这个是zabbix安装server端的时候安装下来的
    
    
    检查zabbix库是否导入成功
    mysql -uroot zabbix -e 'show tables'
    
    4:配置启动zabbix-server
    vi /etc/zabbix/zabbix_server.conf
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix
    DBPassword=123456
    
    启动zabbix-server
    systemctl start zabbix-server
    systemctl enable zabbix-server
    
    检查:
    netstat -lntup
    
    5:修改Zabbix前端的PHP配置,并启动httpd
    vi /etc/httpd/conf.d/zabbix.conf
    php_value date.timezone Asia/Shanghai
    
    systemctl start httpd
    systemctl enable httpd
    
    6:前端zabbix-web的安装
    浏览器:http://10.0.0.61/zabbix
    
    
    后期修改zabbix数据库密码的时候,需要修改的配置文件:
    /etc/zabbix/web/zabbix.conf.php
    
    浏览器访问http://10.0.0.61/zabbix/zabbix.php
    
    登录的账号密码是
    Admin
    zabbix
    

    六、监控一台主机服务器

    A:   在客户端安装的zabbix-agent
    rpm -ivh https://mirror.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbixagent-4.0.11-1.el7.x86_64.rpm
    B:  配置zabbix-agent
    vim /etc/zabbix/zabbix_agentd.conf
    Server=10.0.0.61
    ###这个server写的地址写的是zabbix-server地址
    C:启动zabbix-agent
    systemctl start zabbix-agent
    systemctl enable zabbix-agent
    
    D:在web界面添加主机
    
    image.png image.png image.png

    七、自定义监控项

    A:  在命令行主机取值
    例如我们要监控内存的使用情况
    [root@zabbix-server ~]# iostat|awk '$1 ~/sda/'
    sda 4.07 41.98 68.30 255455 415578
    [root@zabbix-server ~]# iostat|awk '$1 ~/sda/{print $2}'
    4.07
    
    B: 修改zabbix-agent的配置文件
    vim /etc/zabbix/zabbix_agentd.conf
    UserParameter=sda_tps,iostat|awk '$1 ~/sda/{print $2}'
    systemctl restart zabbix-agent.service
    
    
    C: 在zabbix的server端测试
    zabbix_get -s 127.0.0.1 -k sda_tps  
    ###这个zabbix的命令是后来安装的默认是没有的
    
    D:在web界面添加自定义监控项
    
    image.png
    image.png

    八、自定义触发器

    image.png image.png
    image.png

    九、配置微信报警和邮件报警

    9.1 邮件报警

    a:自定义发件人

    image.png

    b:配置收件人

    image.png

    C: 启动动作

    image.png

    定制报警的内容 https://www.zabbix.com/documentation/4.0/zh/manual/appendix/macros/supported_by_locat
    ion

    9.2 微信报警

    a:将weixin.py放在zabbix特定目录/usr/lib/zabbix/alertscripts

    这个是Python脚本是我之前啊百度找到的,上传上去的

    b: 配置发件人

    image.png

    {ALERT.SENDTO}, {ALERT.SUBJECT} and {ALERT.MESSAGE}
    这个是zabbix官方定义的脚本变量,官方文档上也有它的详细信息

    c: 配置收件人

    image.png

    这里用的微信报警是用的企业微信,也是我自己提前配置好的,百度上很多这样的配置

    十、自定义图像grafana

    image.png
    image.png
    image.png

    十一、使用grafana图像

    安装grafana
    yum localinstall grafana-6.3.0-1.x86_64.rpm -y
    systemctl start grafana-server.service
    systemctl enable grafana-server.service
    浏览器访问10.0.0.61:3000
    账号和密码
     admin:admin
    
    image.png
    安装zabbix插件,启动插件
    grafana-cli plugins list-remote|grep zabbix
    grafana-cli plugins install alexanderzobnin-zabbix-app
    systemctl restart grafana-server.service
    
    
    #这是grafana官方的地址下载下的,也可以用上面的命令下载
    
    image.png

    数据源--zabbix数据源


    image.png

    选择zabbix类型


    image.png
    image.png

    导入模板


    image.png
    image.png

    十二、导入模板

    创建自定义的模板

    利用模板可以快速添加监控项:模板可以分享

    nginx模板

    A:开启监控页面

    vim nginx.conf
    location /nginx_status {
    stub_status;
    }
    systemctl restart nginx
    
    image.png

    B:导入模板


    image.png

    C:准备配置文件,并测试脚本

    vim zbx_nginx.conf
    UserParameter=nginx_status[*],/bin/bash /server/scripts/nginx_monitor.sh $1
    systemctl restart zabbix-agent
    #测试脚本取值
    sh nginx_monitor.sh accepts
    

    D:在zabbix-server上取zabbix-agent值
    zabbix_get -s 10.0.0.100 -k nginx_status[accepts]
    E:链接模板

    相关文章

      网友评论

          本文标题:zabbix监控

          本文链接:https://www.haomeiwen.com/subject/rxmkjctx.html