Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务


一、监控概述
1.监控目的
    每一部分必须监控
    内容包括吞吐量,反应时间,使用率等
    提前发现问题
        进行服务器性能调整前,知道调整什么
        找出系统的瓶颈在什么地方
2.监控的资源类别
    公开数据
        web,FTP,SSH,数据库等应用服务
        TCP或UDP端口
    私有数据
        CPU,内存,磁盘,网卡流量等使用信息
        用户,进程等运行信息
3.系统监控命令
    ps,ifconfig,uptime,netstat或ss,free,ping,swapon -s,traceroute,df -h,iostat
4.监控软件
    Cacti
        基于SNMP协议的监控软件,强大的绘图能力
    Nagios
        基于Agent监控,强大的状态检查与报警机制
        插件极多,自己写监控脚本嵌入到Nagios非常方便
    Zabbix
        基于多种监控机制,支持分布式监控
二、Zabbix基础
1.简介:
    Zabbix是一个高度集成的监控解决方案
    可以实现企业级的开源分布监控
    Zabbix通过C/S模式采集监控数据
    Zabbix通过B/S模式实现web管理
2.监控服务器
    监控服务器可以通过SNMP或Agent采集数据
    数据可以写入MySQL,Oracle等数据库中
    服务器使用LNMP实现web前端的管理
3.被监控主机
    被监控主机需要安装Agent
    常见的网路设备一般都支持SNMP
三、Zabbix监控服务
安装前准备
    监控服务器
        设置主机名(zabbix server)
        设置ip地址(192.168.2.5)
        关闭防火墙,SELinux
    监控客户端(2.100和2.200)
        主机web1(192.168.2.100)
        主机web2(192.168.2.200)
        关闭防火墙,SELinux
        
1.安装LNMP
[root@zabbixserver ~]# systemctl stop firewalld
[root@zabbixserver ~]# systemctl disable firewalld
[root@zabbixserver ~]# yum -y install gcc pcre-devel zlib-devel openssl-devel
[root@zabbixserver ~]# tar -xf nginx-1.12.2.tar.gz 
[root@zabbixserver ~]# cd nginx-1.12.2/
[root@zabbixserver nginx-1.12.2]# ./configure --with-http_ssl_module
[root@zabbixserver nginx-1.12.2]# make && make install
[root@zabbixserver ~]# cd /root/
[root@zabbixserver ~]# yum -y install php php-fpm php-mysql mariadb mariadb-devel mariadb-server
[root@zabbixserver ~]# vim +65 /usr/local/nginx/conf/nginx.conf
 65         location ~ \.php$ {
 66             root           html;
 67             fastcgi_pass   127.0.0.1:9000;
 68             fastcgi_index  index.php;
 69         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
 70             include        fastcgi.conf;
 71         }
[root@zabbixserver ~]# systemctl start mariadb
[root@zabbixserver ~]# systemctl start php-fpm
[root@zabbixserver ~]# /usr/local/nginx/sbin/nginx 
[root@zabbixserver ~]# netstat -ntlup|grep :3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      7623/mysqld         
[root@zabbixserver ~]# netstat -ntlup|grep :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      7671/nginx: master  
[root@zabbixserver ~]# netstat -ntlup|grep :9000
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      7663/php-fpm: maste 
[root@zabbixserver ~]# vim /usr/local/nginx/html/test.php
$i=33;
echo $i;
?>
[root@zabbixserver ~]# curl http://192.168.4.240/test.php
33

2.安装源码的zabbix软件
[root@zabbixserver ~]# yum -y install net-snmp-devel curl-devel libevent-devel
[root@zabbixserver ~]# tar -xf zabbix-3.4.4.tar.gz 
[root@zabbixserver ~]# cd zabbix-3.4.4/
[root@zabbixserver zabbix-3.4.4]# ./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl
[root@zabbixserver zabbix-3.4.4]# make install
[root@zabbixserver zabbix-3.4.4]# ls /usr/local/etc/            ==>>Zabbix配置文件
zabbix_agentd.conf    zabbix_proxy.conf    zabbix_server.conf
zabbix_agentd.conf.d  zabbix_proxy.conf.d  zabbix_server.conf.d
[root@zabbixserver zabbix-3.4.4]# ls /usr/local/bin/           ==>>Zabbix命令
zabbix_get  zabbix_sender
[root@zabbixserver zabbix-3.4.4]# ls /usr/local/sbin/          ==>>Zabbix启动服务的命令
zabbix_agentd  zabbix_proxy  zabbix_server

3.初始化配置
    创建数据库与数据库账户
[root@zabbixserver ~]# mysql
MariaDB [(none)]> create database zabbix character set utf8;
MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
MariaDB [(none)]> exit
[root@zabbixserver ~]# cd zabbix-3.4.4/database/mysql/
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql 
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < images.sql 
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql 
[root@zabbixserver mysql]# cd /root/zabbix-3.4.4/frontends/php/
[root@zabbixserver php]# cp -a * /usr/local/nginx/html/
[root@zabbixserver php]# chmod -R 777 /usr/local/nginx/html/
[root@zabbixserver php]# vim /usr/local/nginx/conf/nginx.conf
 17 http {
 18     include       mime.types;
 19     default_type  application/octet-stream;
 20     fastcgi_buffers 8 16k;           ==>>缓存php生成的页面内容,8个16k
 21     fastcgi_buffer_size 32k;         ==>>缓存php生产的头部信息
 22     fastcgi_connect_timeout 300;     ==>>连接php的超时时间
 23     fastcgi_send_timeout 300;        ==>>发送请求的超时时间
 24     fastcgi_read_timeout 300;        ==>>读取请求的超时时间
[root@zabbixserver php]# /usr/local/nginx/sbin/nginx -t
[root@zabbixserver php]# /usr/local/nginx/sbin/nginx -s reload
[root@zabbixserver php]# cd /root/
[root@zabbixserver ~]# yum -y install php-gd php-xml php-ldap php-bcmath php-mbstring
 [root@zabbixserver ~]# vim /etc/php.ini 
 384 max_execution_time = 300           ==>>最大执行时间,秒
 394 max_input_time = 300               ==>>服务器接受数据的时间限制
 672 post_max_size = 32M                ==>>POST数据最大容量
 878 date.timezone = Asia/Shanghai      ==>>设置时区
[root@zabbixserver ~]# systemctl restart php-fpm

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第1张图片

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第2张图片

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第3张图片

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第4张图片

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第5张图片

4.访问监控页面

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第6张图片

5.启动监控服务
[root@zabbixserver ~]# vim /usr/local/etc/zabbix_server.conf
 38 LogFile=/tmp/zabbix_server.log    ==>>设置日志
 85 DBHost=localhost                  ==>>数据库主机
 95 DBName=zabbix                     ==>>设置数据库账户
 111 DBUser=zabbix                    ==>>设置数据库账户
 119 DBPassword=zabbix                ==>>设置数据库密码
[root@zabbixserver ~]# useradd zabbix       ==>>不添加用户无法启动服务
[root@zabbixserver ~]# zabbix_server        ==>>启动服务
[root@zabbixserver ~]# netstat -ntlup|grep :10051
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      17480/zabbix_server 

6.监控客户端
[root@web100 ~]# yum -y install gcc pcre-devel
[root@web100 ~]# tar -xf zabbix-3.4.4.tar.gz 
[root@web100 ~]# cd zabbix-3.4.4/
[root@web100 zabbix-3.4.4]# ./configure --enable-agent
[root@web100 zabbix-3.4.4]# make install
[root@web100 zabbix-3.4.4]# ls /usr/local/etc/
zabbix_agentd.conf  zabbix_agentd.conf.d
[root@web100 zabbix-3.4.4]# ls /usr/local/bin/
zabbix_get  zabbix_sender
[root@web100 zabbix-3.4.4]# ls /usr/local/sbin/
zabbix_agentd
[root@web100 ~]# vim /usr/local/etc/zabbix_agentd.conf
 30 LogFile=/tmp/zabbix_agentd.log          ==>>日志文件
 93 Server=127.0.0.1,192.168.2.5            ==>>允许访问服务地址列表
134 ServerActive=192.168.2.5:10051          ==>>监控服务器IP地址
[root@web100 ~]# useradd zabbix
[root@web100 ~]# zabbix_agentd 
[root@web100 ~]# netstat -ntlup|grep :10050
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      9534/zabbix_agentd  

7.zabbix添加监控主机

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第7张图片

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第8张图片

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第9张图片

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第10张图片

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第11张图片

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第12张图片

 

8.自定义监控项目
    在被监控的客户端本机编写脚本给监控服务器使用
    监控私有数据
    配置客户端:
        启用自定义监控项
        定义监控命令
        测试命令
    配置监控服务器:在管理页面
        创建监控模板   名
        创建应用集     名
        监控项         名
        调用新建的模板监控客户端
        查看数据
[root@web100 ~]# vim /usr/local/etc/zabbix_agentd.conf
264 Include=/usr/local/etc/zabbix_agentd.conf.d/     ==>>加载配置文件目录
280 UnsafeUserParameters=1                           ==>>是由允许自定义key
[root@web100 ~]# cd /usr/local/etc/zabbix_agentd.conf.d/
[root@web100 zabbix_agentd.conf.d]# vim count.line.passwd
UserParameter=get_sum_user,wc -l /etc/passwd |awk '{print $1}'
--------------------------------------------------------------------
UserParameter=自定义key名称,命令          ==>>自定义key语法格式
--------------------------------------------------------------------
[root@web100 zabbix_agentd.conf.d]# killall -9 zabbix_agentd
[root@web100 zabbix_agentd.conf.d]# zabbix_agentd 
[root@web100 zabbix_agentd.conf.d]# netstat -ntlup|grep :10050
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      10416/zabbix_agentd 
[root@web100 zabbix_agentd.conf.d]# zabbix_get -s 127.0.0.1 -k get_sum_user   ==>>测试key命令
22
[root@web100 zabbix_agentd.conf.d]# vim count.line.passwd
UserParameter=get_sum_user,wc -l /etc/passwd |awk '{print $1}'
UserParameter=get_login_user,grep -c "/bin/bash" /etc/passwd
UserParameter=get_nologin_user,grep -c -v "/bin/bash" /etc/passwd
[root@web100 zabbix_agentd.conf.d]# killall -9 zabbix_agentd
[root@web100 zabbix_agentd.conf.d]# zabbix_agentd 
[root@web100 zabbix_agentd.conf.d]# netstat -ntlup|grep :10050
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      10559/zabbix_agentd 
[root@web100 zabbix_agentd.conf.d]# zabbix_get -s 127.0.0.1 -k get_login_user
20
[root@web100 zabbix_agentd.conf.d]# zabbix_get -s 127.0.0.1 -k get_nologin_user
2

    创建监控模板Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第13张图片Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第14张图片

    创建应用集

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第15张图片

 

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第16张图片

 

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第17张图片Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第18张图片Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第19张图片

     将模板关联主机

Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第20张图片Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第21张图片Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第22张图片Zabbix(一)之监控概述,Zabbix基础,Zabbix监控服务_第23张图片

你可能感兴趣的:(Zabbix,linux,运维)