作者:ada1988于 2021年11月23日 发布在分类 / 我的世界 / 知识 下,并于 2021年11月24日 编辑
    2021-11-24 15:14:01版本: ubuntu18安装zabbix5.4监控服务
    历史版本

    修改日期 修改人 备注
    2021-11-24 15:19:55[当前版本] 阿达 样式修改
    2021-11-24 15:14:01 阿达 样式变动
    2021-11-24 15:08:03 阿达 追加zabbix_agent2
    2021-11-23 17:04:19 阿达 CREAT

        公司服务器裸奔时间过长,有一次突然不能访问了,也不知道隔了多上时间才被发现,近段时间腾出点时间,对服务器监控方面的知识进行了一下了解,今天就破天荒的整理一下笔记,总结一下,便于以后查阅资料。
        zabbix,查来查去,看到这个的呼声挺高,研究了一下,整起来。本人不大喜欢使用install直接安装,原因是好多默认的东东不知道捣鼓到哪里去了,安装过程网络问题也是让人头疼,今天照旧,下载最新源码,编译,安装。
        zabbix挺有意思,5版本以上已经弄了好多模板,直接上来就能用,有点爽歪歪的感觉。

    1、下载源码,参考安装教程

        下载地址:https://www.zabbix.com/download_sources
        安装教程:https://www.zabbix.com/documentation/current/manual/installation/install
        apt源的问题,建议自行修改,由于使用华为云服务器,各种安装可能存在问题
        更新apt源,这里用的源为阿里云的公共源
    cp /etc/apt/sources.list /etc/apt/sources.list.bak
    vim /etc/apt/sources.list
    追加如下信息
    deb http://mirrors.aliyun.com/ubuntu/ xenial main
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
    deb http://mirrors.aliyun.com/ubuntu/ xenial universe
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
    deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
    deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

    2、server安装配置

        一路make一路坑,这边简单说一下,本人基于已安装了nginx、mysql的环境进行讲解,make之前需要提前将依赖进行安装,如下
    sudo apt-get install php-json
    sudo apt-get install php-curl
    sudo apt-get install php7.2-mysql
    sudo apt-get install php7.2-cgi
    sudo apt-get install php7.2-bcmath
    sudo apt-get install php7.2-mbstring
    sudo apt-get install php7.2-gd
    sudo apt-get install php7.2-ldap
        解压缩、创建用户、授权等文档已描述的很详细,这边就不做过多解释,server服务器安装这些就可以了
    ./configure --enable-server --enable-proxy --enable-webservice  --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi
    初始化数据库,本人没找到怎么批量初始化,直接到源码中找到对应的mysql中需要初始化的sql,进行手动导入
    source /schema.sql
    source /data.sql
    source /images.sql
    source /double.sql
       配置服务器安装完毕后的文件,本人的文件存在于一些目录文件,这个主要配置之前在mysql进行创建的用户
    vim /usr/local/etc/zabbix_server.conf
    以上步骤如果顺利,恭喜你,进入下一个阶段,这个阶段需要启动server服务,启动命令如下
    /usr/local/sbin/zabbix_server
       建议大家启动时,多看一下日志文件,以便查询问题

    tail -f -n 200 /tmp/zabbix_server.log

       安装的时候应该有个汉化的操作,汉化问题:https://www.zabbix.com/documentation/5.0/manual/appendix/install/locales

       Installing locales To list all installed languages, run:
    locale -a
       If some languages that are needed are not listed, open the /etc/locale.gen file and uncomment the required locales. Since Zabbix uses UTF-8 encoding, you need to select locales with UTF-8 charset.Now, run:
    locale-gen

    3、web-ui安装配置

    cp -r /mnt/sdc/zabbix-5.4.7/ui/ /var/www/
    cd /var/www
    cp -r ui/* zabbix/
    vim /user/local/nginx/conf/nginx.conf
      追加代码
    include http.zabbix.aijiuku.com.conf
    vim /user/local/nginx/conf/http.zabbix.xxx.com.conf
      追加代码
    server {
        listen 80;
        server_name zabbix.xxx.com;
        root /var/www/zabbix/;
        access_log /var/log/nginx/zabbix_access.log;
        error_log /var/log/nginx/zabbix_error.log;
        index index.php;

        location ~ \.php$ {
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
            fastcgi_index index.php;
            fastcgi_buffer_size 128k;
            fastcgi_buffers 64 256k;
            fastcgi_param SCRIPT_FILENAME /var/www/zabbix$fastcgi_script_name;
            include fastcgi_params;
        }
    }
    vim /etc/nginx/nginx.conf
    # 修改nginx的user为有访问/var/www/权限的用户
    # 比如: root
       启动Nginx和php
    nginx -s reload
    /etc/init.d/php7.2-fpm start

        通过教程介绍,访问自己的IP进行页面的配置,这个就有点小问题了,500错误,一般是php环境问题,链接数据库的问题,需要手动修改配置文件,注释掉9000的监听,改为sock方式,操作如下
    vim /etc/php/7.2/fpm/pool.d/www.conf
    listen = /run/php/php7.2-fpm.sock
    ; listen = 127.0.0.1:9000
        终于见到WEB页面了,爽歪歪的同时,刚走两步,又JB出问题了,各种检测不能通过,这时需要进行PHP配置上的全局修改
    vim /etc/php/7.2/fpm/php.ini
    max_input_time = 300

    post_max_size = 16M

        反正就是基于提示进行各个配置的修改如8m-》16M等这些配置,照着人家说的修改,没有安装的服务,自行安装。捣鼓完毕这个,再次重新起航

    4、监控zabbix_agent2安装配置

        安装这个监控可是各种坑啊,go环境就是一个大坑,捣鼓半天没搞定,各种make报错

        安装依赖包:
    apt-get -y install libpcre3 libpcre3-dev gcc make
        编译参数
    ./configure --prefix=/usr/local --enable-agent2
        编译安装
    make && make install

        这一步就开始报错了,各种git下载的东东会出现中断现象,timeout等,还有go环境的问题,先解决go环境的问题

        下载地址:https://dl.google.com/go/go1.17.2.linux-amd64.tar.gz

        go环境安装:
    tar xf go1.17.3.linux-amd64.tar.gz -C /usr/local
    sudo ln -s /usr/local/go/bin/* /usr/bin/
    vim /etc/profile
    #set go environment
    export GOPROXY=https://goproxy.io
    export GOROOT=/usr/local/go/
    export GOPATH=/gopath
    export GOBIN=$GOROOT/bin
    export PATH=$PATH:$GOROOT/bin
    export GO111MODULE=on

    source /etc/profile

        注意这一句非常有必要:export GOPROXY=https://goproxy.io,如果环境没有配置,你就完蛋了,zabbix_agent2 进行make的时候,各种git资源出现超时,反正就是编译问题。

        修改配置
    vim /usr/local/etc/zabbix_agent2.conf
    server:192.168.0.228
    Hostname:Zabbix server
        启动
    /usr/local/sbin/zabbix_agent2
        日志
    tail -f -n 200 /tmp/zabbix_agentd2.log
    server端进行验证模板参数
    zabbix_get -s 192.168.0.51 -p 6379 -k redis.ping

    总结性知识点

    1、zabbix-server端

        配置文件
    vim /usr/local/etc/zabbix_server.conf
        启动命令
    /usr/local/sbin/zabbix_server
        日志文件
    tail -f -n 200 /tmp/zabbix_server.log

    2、zabbix-agent2端

        配置文件
    vim /usr/local/etc/zabbix_agent2.conf
        启动命令
    /usr/local/sbin/zabbix_agent2
        日志文件
    tail -f -n 200 /tmp/zabbix_agent2.log

    3、mysq监控 https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent2/README.md?at=refs%2Fheads%2Frelease%2F5.4

        # 如果mysql-server为被监控主机,为安全起见,新建local用户就行
    CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'zbx_monitor!@#123';
    GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
    FLUSH PRIVILEGES;
        相关宏配置
    {$MYSQL.DSN} = tcp://localhost:3306
    {$MYSQL.USER} = zbx_monitor
    {$MYSQL.PASSWORD} =xxxx

    4、服务端进行测试

        在server端使用zabbix_get工具查看与agent端连接情况
    zabbix_get -s 192.168.0.51 -k system.cpu.num
    zabbix_get -s 127.0.0.1 -p 10051 -k mysql.ping['tcp://192.168.0.51:3306,zbx_monitor','xxxx']
    1
    # 返回1为正常

    5、服务自启动

    nuhup /usr/etc/sbin/zabbix_agent2
    冀ICP备20003189号