zoukankan      html  css  js  c++  java
  • zabbix5.0官方部署+监控nginx+mysql

    rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    yum clean all
    安装Zabbix server 和 agent
    yum -y install zabbix-server-mysql zabbix-agent
    yum -y install centos-release-scl

    编辑配置文件 /etc/yum.repos.d/zabbix.repo
    [zabbix-frontend]
    ...
    enabled=1
    ...

    安装Zabbix frontend 包
    yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl

    安装数据库
    yum -y install mariadb-server mariad
    systemctl start mariadb && systemctl enable mariadb
    初始化数据库
    mysql_secure_installation
    密码:Flz_3qc123

    设置MariaDB字符集为utf-8
    vim /etc/my.cnf
    ...
    [mysqld]
    character-set-server=utf8mb4
    ....
    [mysqld_safe]
    ....
    !includedir /etc/my.cnf.d
    ....


    systemctl restart mariadb

    创建初始数据库
    mysql -uroot -p
    create database zabbix character set utf8 collate utf8_bin;
    create user zabbix@localhost identified by '123456';
    grant all privileges on zabbix.* to zabbix@localhost;
    exit


    导入初始架构和数据,系统将提示您输入新创建的密码。
    zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
    #输入zabbix用户的密码

    为Zabbix server配置数据库
    vim /etc/zabbix/zabbix_server.conf
    DBPassword=123456       #取消注释并写上密码

    为Zabbix前端配置PHP
    vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf        #取消注释和更正
            listen          80;
            server_name     172.16.186.141;
    ....


    vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
    ....
    listen.acl_users = apache,nginx         #增加nginx用户
    ....
    php_value[date.timezone] = Asia/Shangha     #取消注释并更正
    ....


    启动Zabbix server和agent进程
    systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
    systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm

    浏览器访问:172.16.186.141

    确保下图中都为ok即可

     

     

     

     

     帐密:Admin/zabbix

    配置其他linux  agent端

    rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

    yum clean all

    yum -y install zabbix-agent

    vim /etc/zabbix/zabbix_agentd.conf

    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    LogFileSize=0
    Server=172.16.186.141          #zabbix server端的IP
    ServerActive=172.16.186.141       #主动连接zbbix-server,主要用于自动注册时使用
    Hostname=test3               #该名称为在服务端添加主机时的名字,需要注意
    Include=/etc/zabbix/zabbix_agentd.d/*.conf

    开启zabbix agent:systemctl start zabbix-agent

    检查:netstat -anpt|grep 10050

    创建主机

     配置----主机----创建主机

     如下图所示,再点击“172.16.186.142”字样进去选择模板

    选择好模板后点击下图中的“更新”

    点击172.16.186.142后面的“图形”----右上角“创建图形”

    下图中的“主机组”和“主机”都选好后点击应用

    点击下图中左下角中的172.16.186.142

    点击下图中的预览

    监控windows

    下载:https://www.zabbix.com/cn/download_agents

    https://assets.zabbix.com/downloads/5.0.3/zabbix_agent-5.0.3-windows-amd64-openssl.msi

     

     

     

     

    服务端添加rambo-PC的主机

    选择模板,模板有2处要添加,需注意

    监控Nginx

    监控nginx还在上述的linux服务器上进行
    下载nginx:wget -c https://nginx.org/download/nginx-1.19.2.tar.gz
    tar -zxvf nginx-1.19.2.tar.gz
    cd nginx-1.19.2
    关闭debug日志
    vim auto/cc/gcc
    171 # debug
    172 #CFLAGS="$CFLAGS -g"

    安装依赖
    yum -y install gcc gcc-c++ make pcre-devel zlib-devel
    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module && make && make install
    更改配置文件
    vim /usr/local/nginx/conf/nginx.conf
    ....
        ....
    http{
    ....
        ....
        server {
        ....
            .....
             location /status {
                    stub_status on;          #加载模块
                    access_log off;
                    allow 127.0.0.1;         #访问控制;仅允许本机可以访问
                    deny all;
                }
    ....
        ....
        }
    }

    检查语法:/usr/local/nginx/sbin/nginx -t
    开启nginx:/usr/local/nginx/sbin/nginx

    采集数据并添加nginx监控项
    (1)采集Nginx发起的活跃连接数
        利用shell命令获取活跃连接数
    curl http://127.0.0.1/status
    curl -s http://127.0.0.1/status | grep Active
    curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'

    指定key-value
    cd /etc/zabbix/zabbix_agentd.d/
    拷贝模板文件
    cp /usr/share/doc/zabbix-agent-5.0.3/userparameter_mysql.conf ./userparameter_nginx.conf
    修改文件
    vim userparameter_nginx.conf        #将文件清空并重新写入以下数据
    UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
    注:nginx.active是key(待会儿会用到),curl后面的是value

    重启zabbix-agent
    systemctl restart zabbix-agent


    zabbiix服务端测试
    安装zabbix_get工具
    yum -y install zabbix-get
    测试agent
    #若可以获取到数据即时为配置成功
    zabbix_get -s 172.25.66.2 -p 10050 -k "nginx.active"

     网页配置
    (1)在test3(172.16.186.142)主机中创建nginx_active监控项

    配置----主机----点击172.16.186.142

    点击下图中的“监控项”----右上角“创建监控项”

     

    注上图:名称可自定义,类型选择客户端,键值必须和文件中设定的相同(该文档从此处往上找第一个粉色背景)

    点击下图中的“图形 18”----右上角“创建图形”

    点击下图中“监控项”中的“添加”

    如下图,找到nginx_active项,前面打上对号----选择----添加

     

    点击下图中最下面的nginx_status----预览,图形中有数据,即说明监控nginx并采集数据成功

     解决乱码问题:

    将win系统上自己喜欢的自体发送到172.16.186.141服务器上的/usr/share/zabbix/assets/fonts/中,这里我使用winscp发送

    启用该字体: vim /usr/share/zabbix/include/defines.inc.php

    来到web页面上刷新即可看到效果

    采集Nginx总共处理的请求数
    利用shell命令获取总共处理的请求数
    curl http://127.0.0.1/status

    #Nginx总共处理了73个连接,成功创建73次句柄(证明中间没有失败的),总共处理了74个请求 

     指定key-valus
    vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf

    添加:UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'

    重启zabbix-agent:systemctl restart zabbix-agent

    网页中添加监控项(和上述同样的方法添加)

    此时无需重新创建图形,直接将其添加到刚创建的nginx_status图形中即可

    在页面上的172.16.186.174服务器中--图形----nginx_status

    下图中点击倒数第二个添加

     

    将nginx_accept项前打对号----选择----更新

    预览图形
    图形中有数据,即说明监控nginx并采集数据成功

    通过percona插件监控 MySQL
    zabbix自带的MySQL模块的监控项有点少,该示例还在172.16.186.142服务器上进行

    安装
    yum -y install mariadb mariadb-server mariadb-libs mariadb-devel
    启动并设置开机自动启动
    systemctl start mariadb && systemctl enable mariadb
    初始化数据库设置(无密码直接回车)
    mysql_secure_installation
    #密码是Flz_3qc123,其他都选择Y

    Zabbix server主机中,添加MySQL数据库模板,选择----Templates/Databases---Template DB MySQL---选择

    下图中点击“更新”

    点击下图中配置---模板,可以查看到MySQL的监控项有多少项,下为39项,如想监控更多mysql的项请继续往下看,如39项够用了即按照相应的方法添加即可,这里暂且认为39项不够用来说

    加percona插件来监控MySQL的更多项
    mkdir /var/lib/zabbix && cd /var/lib/zabbix/
    vim .my.conf
    [mysql]
    host = localhost
    user = root
    password = Flz_3qc123       #数据库超级用户密码
    socket = /var/lib/mysql/mysql.sock

    [mysqladmin]
    host = localhost
    user = root
    password = Flz_3qc123       #数据库超级用户密码
    socket = /var/lib/mysql/mysql.sock


    重启zabbix-agent
    systemctl restart zabbix-agent


    配置插件
    wget -c https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm

    rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm

    yum -y install php php-mysql
    拷贝文件
    cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
    vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf        #新建该文件
    <?php
    $mysql_user = 'root';
    $mysql_pass = 'Flz_3qc123';


    重启zabbix-agent
    systemctl restart zabbix-agent

    手工调用插件
    /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg    或者  gw
    cat /tmp/localhost-mysql_cacti_stats.txt        #能看到数据即可
    rm -rf /tmp/localhost-mysql_cacti_stats.txt

    zabbix自动调用插件 

    模板下载:https://github.com/Jenychen1996/zabbix-templates/blob/master/zbx_percona_mysql_template.xml     

    #复制该文件内容并改名为zbx_percona_mysql_template.xml

    下图中,配置----模板---下图右上角“导入”

    在配置---模板---主机群组中可看到刚导入的模板(下图中为第一项),percona Templates前打对号---选择---应用

    如下图所示,可以看到监控项增加到了191项

    将刚导入的模板添加到172.16.186.142主机中
    配置----主机----172.16.186.142----模板---选择---如下图

    可以看到172.16.186.142的监控项增多到了269项,如下图

       欢迎加入QQ群一起学习Linux、开源等技术

     参考

  • 相关阅读:
    DNS服务器安全之通过ipset对DNS异常解析流量的源IP地址进行管控
    C# Windows Api的一些方法 封装 以及 常用参数
    Java基础—异常(1)
    Java基础——异常(2)
    vb6 wininet
    vb6转16进制
    Java 中与(&)短路与(&&)以及 或(|)短路或(||)的关系
    关于面向对象的简单总结
    javaScript的基本规范
    关于TCP传输的三次握手四次挥手策略
  • 原文地址:https://www.cnblogs.com/smlile-you-me/p/13619648.html
Copyright © 2011-2022 走看看