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'

  

posted @ 2019-03-15 13:38  Ray_chen  阅读(342)  评论(0编辑  收藏  举报