• zabbix安装


    zabbix服务器端

    安装依赖

    [root@zabbix_server ~]# ansible all -m yum -a 'name=gcc,pcre-devel,openssl-devel'

    部署lnmp

    # 源码安装nginx
    [root@zabbix_server ~]# tar -xf nginx-1.12.2.tar.gz
    [root@zabbix_server nginx-1.12.2]# ./configure --with-http_ssl_module
    [root@zabbix_server nginx-1.12.2]# make && make install
    [root@zabbix_server nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /sbin/
    
    # 安装php和mariadb
    [root@zabbix_server ~]# yum -y install php php-mysql mariadb mariadb-devel mariadb-server
    [root@zabbix_server ~]# yum -y install php-fpm-5.4.16-42.el7.x86_64.rpm 

    配置nginx

    http {
        fastcgi_buffers 8 16k;                    #缓存php生成的页面内容,8个16k
        fastcgi_buffer_size 32k;                   #缓存php生产的头部信息
        fastcgi_connect_timeout 300;               #连接PHP的超时时间
        fastcgi_send_timeout 300;                  #发送请求的超时时间
        fastcgi_read_timeout 300;                  #读取请求的超时时间  
        
        location ~ .php$ {
                root           html;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                include        fastcgi.conf;
            }
    
    ...

    启动服务

    [root@zabbix_server nginx-1.12.2]# nginx
    [root@zabbix_server ~]# systemctl restart mariadb
    [root@zabbix_server ~]# systemctl restart php-fpm
    [root@zabbix_server nginx-1.12.2]# ss -ltnup | grep :80
    [root@zabbix_server nginx-1.12.2]# ss -ltnup | grep :3306
    [root@zabbix_server nginx-1.12.2]# ss -ltnup | grep :9000

     测试LNMP环境

    [root@zabbix_server ~]# vim /usr/local/nginx/html/index.php
    <?php
    $name='ray';
    echo $name;
    ?>
    [root@zabbix_server ~]# curl http://192.168.1.10/index.php

    部署zabbix Server

    安装依赖

    [root@zabbix_server ~]# yum -y install net-snmp-devel curl-devel libevent-devel-2.0.21-4.el7.x86_64.rpm 

    源码安装zabbix

    [root@zabbix_server ~]# tar -xf zabbix-3.4.4.tar.gz 
    [root@zabbix_server ~]# cd zabbix-3.4.4
    [root@zabbix_server zabbix-3.4.4]# ./configure  --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
    
    # --enable-server安装部署zabbix服务器端软件
    # --enable-agent安装部署zabbix被监控端软件
    # --enable-proxy安装部署zabbix代理相关软件
    # --with-mysql配置mysql_config路径
    # --with-net-snmp允许zabbix通过snmp协议监控其他设备
    # --with-libcurl安装相关curl库文件,这样zabbix就可以通过curl连接http等服务,测试被监控主机服务的状态
    [root@zabbix_server zabbix-3.4.4]# make && make install

    初始化zabbix

    # 创建数据库及访问帐号/密码
    MariaDB [(none)]>  create database zabbix character set utf8;
    MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
    
    [root@proxy1_zabbix mysql]# cd /root/zabbix-3.4.4/database/mysql
    
    [root@zabbix_server mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
    [root@zabbix_server mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
    [root@zabbix_server mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
    
    # 上线zabbix的web页面
    [root@zabbix_server zabbix-3.4.4]# cd frontends/php 
    [root@zabbix_server php]# cp -r * /usr/local/nginx/html/ 
    [root@zabbix_server php]# chmod -R 777 /usr/local/nginx/html/*

    修改zabbix_server 配置文件,设置数据库相关参数,启动zabbix_server服务

    [root@zabbix_server zabbix-3.4.4]# vim /usr/local/etc/zabbix_server.conf
    DBHost=localhost
    #数据库主机,默认该行被注释
    DBName=zabbix
    #设置数据库名称
    DBUser=zabbix
    #设置数据库账户
    DBPassword=zabbix
    #设置数据库密码,默认该行被注释
    LogFile=/tmp/zabbix_server.log    
    #设置日志,仅查看以下即可
    
    # 创建用户方可启动zabbix
    [root@zabbix_server zabbix-3.4.4]# useradd -s /sbin/nologin zabbix
    [root@zabbixserver ~]# zabbix_server 
    [root@zabbixserver ~]# ss -ntulp |grep zabbix_server 

    修改zabbix_agent配置文件,启动zabbix_agnet服务

    [root@zabbix_server zabbix-3.4.4]#  vim /usr/local/etc/zabbix_agentd.conf
    Server=127.0.0.1,192.168.1.10                 #允许哪些主机监控本机
    ServerActive=127.0.0.1,192.168.1.10           #允许哪些主机通过主动模式监控本机
    Hostname=zabbix_server                        #设置本机主机名
    LogFile=/tmp/zabbix_server.log                #设置日志文件
    UnsafeUserParameters=1                        #是否允许自定义key
    
    [root@zabbix_server zabbix-3.4.4]# zabbix_agentd
    [root@zabbix_server zabbix-3.4.4]# ss -ntulp |grep zabbix_agentd

    Tips:

    如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_server/zabbix_agentd,
    一定要先使用killall zabbix_server/zabbix_agentd关闭服务后,再重新启动一次。

    验证

    [root@ray lnmp_soft]#  firefox http://192.168.1.10/index.php
    
    # 默认会提示PHP配置不满足环境要求,修改PHP配置文件
    [root@zabbix_server ~]# yum -y install php-gd php-xml php-bcmath-5.4.16-42.el7.x86_64.rpm php-mbstring-5.4.16-42.el7.x86_64.rpm
    
    [root@zabbix_server ~]# vim /etc/php.ini
    
    date.timezone = Asia/Shanghai               #设置时区
    max_execution_time = 300                    #最大执行时间,秒
    post_max_size = 32M                         #POST数据最大容量
    max_input_time = 300                        #服务器接收数据的时间限制
    memory_limit = 128M                         #内存容量限制
    
    [root@zabbix_server ~]# systemctl restart php-fpm

    部署代理 Zabbix Proxy

    源码安装zabbix_proxy

    [root@ray zabbix]# ansible proxy -m shell -a 'yum -y install net-snmp-devel curl-devel libevent-devel-2.0.21-4.el7.x86_64.rpm'
    [root@ray zabbix]# ansible proxy -m shell -a 'useradd -s /sbin/nologin zabbix'
    [root@ray zabbix]# ansible proxy -m yum -a 'name=mariadb,mariadb-devel,mariadb-server'
    [root@ray zabbix]# ansible proxy -m shell -a 'systemctl start mariabd'
    
    
    [root@ray zabbix]# ansible proxy -m copy -a 'src=zabbix-3.4.4.tar.gz dest=zabbix-3.4.4.tar.gz'
    [root@ray zabbix]# ansible proxy -m unarchive -a 'src=zabbix-3.4.4.tar.gz dest=/root/'
    # 创建数据库及访问帐号/密码
    MariaDB [(none)]>  create database zabbix_proxy character set utf8;
    MariaDB [(none)]> grant all on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';
    
    [root@ray zabbix]# ansible proxy -m shell -a 'mysql -uzabbix -pzabbix zabbix_proxy < schema.sql chdir=/root/zabbix-3.4.4/database/mysql/'
    [root@ray zabbix]# ansible proxy -m shell -a 'mysql -uzabbix -pzabbix zabbix_proxy < images.sql chdir=/root/zabbix-3.4.4/database/mysql/'
    
    
    [root@ray zabbix]# ansible proxy -m shell -a './configure --prefix=/usr/local/zabbix/ --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl chdir=zabbix-3.4.4' 
    [root@ray zabbix]# ansible proxy -m shell -a 'make &&make install chdir=zabbix-3.4.4'

    配置文件

    [root@ray zabbix]# vim zabbix_proxy.conf
    Server=192.168.1.10
    Hostname={{ hostname }}
    LogFile=/tmp/zabbix_proxy.log
    DBName=zabbix_proxy
    DBUser=zabbix
    DBPassword=zabbix
    Timeout=4
    LogSlowQueries=3000
    DataSenderFrequency=30
    HistoryCacheSize=128M
    CacheSize=128M
    
    # 分发配置文件
    [root@ray zabbix]# cat zabbix_proxy.yml
    ---
    - hosts: proxy
      remote_user: root
      tasks:
        - shell: hostname
          register: hostname
        - template:
            src: zabbix_proxy.conf
            dest: /usr/local/zabbix/etc/zabbix_proxy.conf
            owner: zabbix
            group: zabbix
            mode: 0644
    [root@ray zabbix]# ansible-playbook zabbix_proxy.yml 
    [root@ray zabbix]# ansible proxy -m shell -a '/usr/local/zabbix/sbin/zabbix_proxy'
     

    部署被监控主机Zabbix Agent

    源码安装zabbix-agent

    [root@ray zabbix]# ansible agent -m shell -a 'useradd -s /sbin/nologin zabbix'
    [root@ray zabbix]# ansible agent -m copy -a 'src=zabbix-3.4.4.tar.gz dest=zabbix-3.4.4.tar.gz'  
    [root@ray zabbix]# ansible agent -m unarchive -a 'src=zabbix-3.4.4.tar.gz dest=/root/'
    [root@ray zabbix]# ansible agent -m shell -a './configure --prefix=/usr/local/zabbix/ --enable-agent chdir=zabbix-3.4.4'
    [root@ray zabbix]# ansible agent -m shell -a 'make && make install chdir=zabbix-3.4.4'

    修改agent配置文件,启动agent

    # 配置模板文件
    Server=192.168.1.11,192.168.1.12           #谁可以监控本机(被动监控模式),此处指向proxy
    ServerActive=192.168.1.11,192.168.1.12    #谁可以监控本机(主动监控模式)
    Hostname={{ hostname }}                   #被监控端自己的主机名
    EnableRemoteCommands=1    
    #监控异常后,是否允许服务器远程过来执行命令,如重启某个服务
    UnsafeUserParameters=1                       #是否允许自定义key监控

     LogFile=/tmp/zabbix_agentd.log

    # 利用ansible的template模板分发
    [root@ray zabbix]# vim  zabbix.yml 
    ---
    - hosts: agent
      remote_user: root
      tasks:
        - shell: hostname
          register: hostname
        - template:
            src: zabbix_agentd.conf
            dest: /usr/local/zabbix/etc/zabbix_agentd.conf
            owner: zabbix
            group: zabbix
            mode: 0644
    
    [root@ray zabbix]# ansible-playbook zabbix.yml 

    启动

    [root@ray zabbix]# ansible agent -m shell -a 'cp /root/zabbix-3.4.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/'
    
    [root@ray zabbix]# ansible proxy,agent -m shell -a "sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_agentd" 
    [root@ray zabbix]# ansible agent -m shell -a '/etc/init.d/zabbix_agentd start'

      

  • 相关阅读:
    Java编程思想(第三版) 学习笔记
    Python 技术专题
    Interview Tech Knowledge
    Perl语言的多线程(一)
    教你如何拍好人像摄影
    c#,将pdf文件转换成图片文件。
    c#,使用WPF实现iPhone的短信框效果
    c#中利用WMI对象获取物理内存和可用内存大小信息
    c#,使用WMI对象获取系统的DPI。
    c# 调用Microsoft XPS Document Writer打印机,将Pdf文件转换成Xps文件
  • 原文地址:https://www.cnblogs.com/ray-mmss/p/10536528.html
Copyright © 2020-2023  润新知