zabbix 、高可用(part1)

(第十八周作业)

1、搭建zabbix服务,实现监控linux和windows的内存,cpu,磁盘,网络等基础指标

1)安装zabbix服务端,zabbix  服务端IP为192.168.184.130
安装apache
# yum -y install httpd  php  php-fpm  php-mysql  httpd-manual mod_ssl mod_perl mod_auth_mysql
安装php扩展包
# yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel
安装Mysql扩展包
# yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql
安装依赖包
# yum install -y net-snmp-devel libevent-devel
下载zabbix
# cd /usr/src/
# wget  https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.25/zabbix-3.0.25.tar.gz
#tar xf zabbix-3.0.25.tar.gz
配置zabbix用户和组
# groupadd -r zabbix
# useradd -r -g zabbix -M -s /sbin/nologin zabbix
安装数据库
# yum install  mariadb-server  mariadb  -y
# mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges  on  zabbix.* to zabbix@localhost identified  by  'zabbixpasswd';
mysql> grant all privileges  on  zabbix.* to [email protected]  identified  by  'zabbixpasswd';
mysql> flush privileges;
mysql> quit
# cd /usr/src/zabbix-3.0.25/database/mysql/
# mysql -uzabbix -pzabbixpasswd zabbix < schema.sql
# mysql -uzabbix -pzabbixpasswd zabbix < images.sql
# mysql -uzabbix -pzabbixpasswd zabbix < data.sql
编译安装zabbix
# cd /usr/src/zabbix-3.0.25
# ./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
# make && make install
修改服务端配置文件 设置数据库信息
#  vim /usr/local/etc/zabbix_server.conf

DBPassword=zabbixpasswd          #数据库连接密码

启动zabbix_server和zabbix_agentd
# zabbix_server
# zabbix_agentd
修改/etc/php.ini的配置
# vi  /etc/php.ini

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai

# service php-fpm restart
# mkdir -p  /usr/local/apache/htdocs/zabbix
#cp -a frontends/php/* /usr/local/apache/htdocs/zabbix/
配置apache虚拟主机
# vim /etc/httpd.conf
在配置文件的末尾加入下内容


         DocumentRoot "/usr/local/apache/htdocs/zabbix"
        ServerName 192.168.184.130
        ProxyRequests Off
         ProxyPassMatch   ^/(.*\.php)$   fcgi://127.0.0.1:9000/usr/local/apache/htdocs/zabbix/$1
       
                Options none
                AllowOverride none
                Require all granted
       

设置zabbix/conf目录的权限,让zabbix有权限生成配置文件zabbix.conf.php
# chmod     777     /usr/local/apache/htdocs/zabbix/conf
重启apache
# apachectl stop
# apachectl start 
禁用Selinux以及禁用防火墙
# systemctl disable firewalld
#systemctl stop firewalld
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
安装zabbix web 界面,打开本地浏览器http://192.168.184.130/zabbix
在php依赖检查都通过,配置数据库连接信息,(这里就不截图
zabbix默认登入用户和密码:Admin   zabblix 
恢复zabbix/conf目录的权限为755
#chmod 755 /usr/local/apache/htdocs/zabbix/conf
2)Linux 安装zabbix客户端,客户端IP为192.168.184.131
安装zabbix客户端软件
# rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
#yum install zabbix_agent
修改配置文件
# vi /etc/zabbix/zabbix_agentd.conf 

PidFile=/var/run/zabbix/zabbix_agentd.pid         # agent pid 的运行目录
LogFile=/var/log/zabbix/zabbix_agentd.log        # agent 运行日志目录
Server=192.168.184.130                                   # 被动模式服务器地址
ServerActive=192.168.184.130:10051                # 主动模式服务器地址
Hostname=192.168.184.131                                # 客户端主机名或 IP 地址

禁用Selinux以及禁用防火墙
# systemctl disable firewalld
#systemctl stop firewalld
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
启动Zabbix agent,并配置开机自启
#  systemctl start zabbix-agent
#  systemctl enable zabbix-agent
在zabbix页面上设置被监控客户端,上方的导航栏,选择:“Configuration"-->"Hosts",再点右上角的“Create hosts”按钮。
    在Host页面的host选项卡:
        Hostname写入客户端IP,Groups栏目点旁边的“select"按钮来选择”Linux Servers“,
        Agent interfaces 栏目的IP address写客户端地址
        Enabled要打勾
    在Host页面的Templates选项卡:
        点Link new templates栏目右边的”select"按钮,选择“Template OS Linux“,要记得点一下”Add“链接,这样才会添加到Linked templates,然后再点update
然后回到Host页面,可以看到刚才配置的主机名称,等待Availability列的”ZBX“变成绿色。
在zabbix页面上设置监控页面,上方的导航栏,选择
“Monitoring"-->"Screens",再点"Create screen"按钮,
输入Name,给这个监控页面起名,这里输入“Linux131",保存
点击“Linux131”,点右上角的"Edit Screen"按钮,可以编辑监控页面。
点"+"/"-"按钮可以增加或减少相应位置的行和列。
点"change"链接,显示图形选择页面,在Graph栏目中点右边的"Select"按钮,选择相应的项目。
这里要依次添加以下监控图形:
CPU load:CPU负载
CPU utilization:CPU使用率
Disk space usage/:显示/文件系统的使用图
Memory usage:内存
Network traffic on eno16777736:网卡
最后Screen如下图所示:


zabbix 、高可用(part1)_第1张图片

3)Windows安装zabbix客户端,客户端IP为192.168.184.132
下载用于windows的zabbix客户端  https://assets.zabbix.com/downloads/3.0.25/zabbix_agents-3.0.25-win-amd64.zip
解压下载到的文件:zabbix_agents-3.0.25-win-amd64.zip
修改解压目录D:\conf\zabbix_agentd.win.conf

LogFile=D:\Zabbix\zabbix_agentd.log
Server=192.168.184.130  
ServerActive=192.168.184.100:10051
Hostname= 192.168.184.132

打开dos窗口
cd  d:\Zabbix\bin
-i参数为安装指令,-c参数为执行配置文件的目
zabbix_agentd.exe -i -c "D:\Zabbix\conf\zabbix_agentd.win.conf"
-s为启动Zabbix agent服务
zabbix_agentd.exe -s
在zabbix页面上设置被监控客户端,上方的导航栏,选择:“Configuration"-->"Hosts",再点右上角的“Create hosts”按钮。
    在Host页面的host选项卡:
        Hostname写入客户端IP,Groups栏目点旁边的“select"按钮来选择”Templates/Operating systems“,
        Agent interfaces 栏目的IP address写客户端地址
        Enabled要打勾
    在Host页面的Templates选项卡:
        点Link new templates栏目右边的”select"按钮,选择“Template OS Windows",要记得点一下”Add“链接,这样才会添加到Linked templates,然后再点update
然后回到Host页面,可以看到刚才配置的主机名称,等待Availability列的”ZBX“变成绿色。但是Item这列显示22个记录,点进去看不到磁盘和网络。所以回到Windows上面。修改D:\conf\zabbix_agentd.win.conf,找到“PerfCounter”段,通过查看这段的帮助信息,增加以下几行:

PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60
PerfCounter = Net_Incoming,"\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Received/sec",30
PerfCounter = Net_Outgoing,"\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Sent/sec",30

重启服务管理器中的zabbix agent服务。再回到zabbix页面上,发现item数量大量增加到112,点进去看到磁盘和网络的数据项。
在zabbix页面上设置监控页面,上方的导航栏,选择
“Monitoring"-->"Screens",再点"Create screen"按钮,
输入Name,给这个监控页面起名,这里输入“Windows132",保存
点击“Windows132”,点右上角的"Edit Screen"按钮,可以编辑监控页面。
点"+"/"-"按钮可以增加或减少相应位置的行和列。
点"change"链接,显示图形选择页面,在Graph栏目中点右边的"Select"按钮,选择相应的项目。
这里要依次添加以下监控图形:
CPU load :CPU负载
Memory usage :内存使用情况
Disk space usage C: C盘使用情况
Network traffic on Intel(R) PRO/1000 MT Network Connection: 网络流量
最后Screen如下图所示:

zabbix 、高可用(part1)_第2张图片

2、搭建zabbix服务,监控nginx status

在客户端机上假设已完装了nginx,它的IP是192.168.184.131
修改nginx配置文件
vi  /usr/local/nginx/conf/nginx.conf

……
server {

        listen      80;
……

         location /nginx-status {

                stub_status on;

                access_log off;

                allow 127.0.0.1;

                deny all;

        }

}

……

保存配置文件重启nginx.编写nginx状态查询脚本
# vi  /usr/local/nginx/nginx-status.sh

#!/bin/bash

UrlStr="http://127.0.0.1/nginx-status"

function active(){

curl $UrlStr 2>/dev/null |grep "Active"|awk '{print $NF}'

}

function accepts(){

        curl $UrlStr 2>/dev/null|awk NR==3 |awk '{print $1}'

}

function handled(){

        curl $UrlStr 2>/dev/null|awk NR==3 |awk '{print $2}'

}

function requests()

{

        curl $UrlStr 2>/dev/null|awk NR==3 |awk '{print $3}'

}

function reading(){

        curl $UrlStr 2>/dev/null|grep "Reading"|awk '{print $2}'

}

function writing(){

        curl $UrlStr 2>/dev/null|grep "Writing"|awk '{print $4}'

}

function waiting(){

        curl $UrlStr 2>/dev/null|grep "Waiting"|awk '{print $6}'

}

$1

修改zabbix客户端配置文件,
# vi  /etc/zabbix/zabbix_agentd.conf 
增加以下几行:

UserParameter=nginx.active , sh  /usr/local/nginx/nginx-status.sh active
UserParameter=nginx.accepts, sh  /usr/local/nginx/nginx-status.sh accepts
UserParameter=nginx.handled, sh  /usr/local/nginx/nginx-status.sh handled
UserParameter=nginx.requests, sh  /usr/local/nginx/nginx-status.sh requests
UserParameter=nginx.reading, sh  /usr/local/nginx/nginx-status.sh reading
UserParameter=nginx.writing, sh  /usr/local/nginx/nginx-status.sh writing
UserParameter=nginx.waiting, sh  /usr/local/nginx/nginx-status.sh waiting

重启zabbix_agentd
然后在zabbix页面上,host--》131主机--》“items"选项卡,点右上方的”Create item"按钮
在页面上,name输入 nginx.active ,key输入nginx.active ,Newapplication输入 nginx,点“ADD”按钮。
依此法,添加上面的所有item:nginx.active ,nginx.accepts,nginx.handled,nginx.requests,nginx.reading,nginx.writing,nginx.waiting
再点“Graphs",把这几个item添加到同一个图形中。
在”monitor“--》Screens-->"Edit Screens"-->把这个图形添加进来就可以了。


(part2  的链接为   https://www.jianshu.com/p/9373e2b9a2b6  )

你可能感兴趣的:(zabbix 、高可用(part1))