zabbix客户端部署

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

            服务端部署

备份原有的yum


[root@ns1 ~]# find /etc/yum.repos.d/ -name '*.repo' -exec mv {} {}.back \;


#配阿里云yum源


[root@ns1 ~]# vim /etc/yum.repos.d/aliyun.repo 

[aliyun]

name=centos6

baseurl=https://mirrors.aliyun.com/centos/6/os/x86_64/

enabled=1

gpgkey=https://mirrors.aliyun.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6

gpgcheck=1

 

[epel]

name=Extra Packages for Enterprise Linux 6 - $basearch

baseurl=http://mirrors.aliyun.com/epel/6/$basearch

        http://mirrors.aliyuncs.com/epel/6/$basearch

failovermethod=priority

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6


安装前端web


[root@ns1 ~]yum -y install httpd php php-mysql mysql-server 


[root@ns1 ~]service httpd start



修改数据库配置文件,把编码改为utf8


[root@ns1 ~]vim /etc/my.cnf

[mysqld]

default-character-set=utf8


[root@ns1 ~]service mysqld start


加入开机自启动


[root@ns1 ~]chkconfig httpd on

[root@ns1 ~]chkconfig mysqld on


安装zabbix服务端


[root@ns1 ~]#yum -y install zabbix22-server

初始化数据库


[root@ns1 ~]#  mysql -uroot <<end <="" p="" style="word-wrap: break-word;">

delete from mysql.user where user='';

update mysql.user set password=password('123') where user='root';

delete from mysql.db where user='';

flush privileges;


create database zabbix default charset utf8;


grant all on zabbix.* to zabbix@localhost identified by '123';


END

找出要导入数据库的数据文件


[root@ns1 ~]# find /usr/share/zabbix-mysql/ -name '*.sql'


/usr/share/zabbix-mysql/images.sql

/usr/share/zabbix-mysql/data.sql

/usr/share/zabbix-mysql/schema.sql


导入数据,这里要注意导入的顺序


[root@ns1 ~]#  mysql -uzabbix -p123 zabbix < /usr/share/zabbix-mysql/mysql.sql

[root@ns1 ~]#  mysql -uzabbix -p123 zabbix

[root@ns1 ~]#  mysql -uzabbix -p123 zabbix


修改zabbix的配置文件,按照自己之前的配置修改数据库名,用户名,密码


[root@ns1 ~]# vim /etc/zabbix/zabbix_server.conf


LogFile=/var/log/zabbix/zabbix_server.log

LogFileSize=0

PidFile=/var/run/zabbix/zabbix_server.pid

DBName=zabbix

DBUser=zabbix

DBPassword=123

DBSocket=/var/lib/mysql/mysql.sock   

SNMPTrapperFile=/var/log/snmptt/snmptt.log

AlertScriptsPath=/usr/lib/zabbix/alertscripts

ExternalScripts=/usr/lib/zabbix/externalscripts


启动zabbix


[root@ns1 ~]#  /etc/init.d/zabbix-server start 

Starting Zabbix server:    

                                [确定]

[root@ns1 ~]# chkconfig zabbix-server on



[root@ns1 ~]# netstat -tnlp |grep zabbix


tcp        0      0 0.0.0.0:10051               0.0.0.0:*                   LISTEN      28656/zabbix_server 

tcp        0      0 :::10051                    :::*                        LISTEN      28656/zabbix_server


安装zabbix-web


[root@ns1 ~]# yum -y install zabbix22-web zabbix22-web-mysql


修改php的配置,zabbix有配置要求,具体在web界面安装时会有提示,注意时区是否一致


[root@ns1 ~]#  vim /etc/php.ini 

 440 max_execution_time = 300

 449 max_input_time = 300

 729 post_max_size = 16M

 946 date.timezone = 'Asia/Shanghai'


[root@ns1 ~]#  service httpd restart

此时可进入web界面安装了

本机登录:http://localhost/zabbix

非本机登录注意selinux,防火墙


[root@ns1 ~]# setenforce 0

[root@ns1 ~]# iptables -F




           客户端配置


[root@www ~]# find /etc/yum.repos.d/ -name '*.repo' -exec mv {} {}.back \;


#配置阿里云yum


[root@www ~]# vim /etc/yum.repos.d/aliyun.repo 

[aliyun]

name=centos6

baseurl=https://mirrors.aliyun.com/centos/6/os/x86_64/

enabled=1

gpgkey=https://mirrors.aliyun.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6

gpgcheck=1

  

[epel]

name=Extra Packages for Enterprise Linux 6 - $basearch

baseurl=http://mirrors.aliyun.com/epel/6/$basearch

        http://mirrors.aliyuncs.com/epel/6/$basearch

failovermethod=priority

enabled=1

gpgcheck=0

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6



[root@www ~]# yum -y install zabbix22-agent.x86_64 



[root@www ~]# service zabbix-agentd start


[root@www ~]# chkconfig zabbix-agent on


[root@www ~]# cd /etc/zabbix/


[root@www zabbix]# cp zabbix_agent.conf zabbix_agent.conf.bak 


[root@www zabbix]# vim zabbix_agent.conf


Server=192.168.1.111            #服务端ip地址



[root@www ~]# vim /etc/zabbix_agentd.conf 


Server=192.168.1.111

ServerActive=192.168.1.111


[root@www zabbix]# service zabbix-agentd restart


部署完成后在服务端测试,能获取到客户端主机名,说明服务端能对客户端进行监控


[root@ns1 ~]# zabbix_get -s 192.168.1.102 -k system.hostname

www.nginx.com





1.官方文档地址:

https://www.zabbix.com/documentation/3.2/manual/installation/install_from_packages

 

2.导入源:

rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

 

3.安装zabbix包

yum install zabbix-server-mysql zabbix-web-mysql


清楚的看一下要安装那些包(httpd php基本都依赖安装了)

Package                                Arch                      Version                                   Repository                  Size

=====================================================================================================================

Installing:

 zabbix-server-mysql                    x86_64                    3.0.1-1.el7                               zabbix                     1.7 M

 zabbix-web-mysql                       noarch                    3.0.1-1.el7                               zabbix                     3.5 k

Installing for dependencies:

 OpenIPMI-libs                          x86_64                    2.0.19-11.el7                             base                       501 k

 OpenIPMI-modalias                      x86_64                    2.0.19-11.el7                             base                        15 k

 dejavu-fonts-common                    noarch                    2.33-6.el7                                base                        64 k

 dejavu-sans-fonts                      noarch                    2.33-6.el7                                base                       1.4 M

 fping                                  x86_64                    3.10-4.el7                                epel                        46 k

 httpd                                  x86_64                    2.4.6-40.el7.centos                       base                       2.7 M

 httpd-tools                            x86_64                    2.4.6-40.el7.centos                       base                        82 k

 iksemel                                x86_64                    1.4-6.el7                                 epel                        50 k

 libtool-ltdl                           x86_64                    2.4.2-21.el7_2                            updates                     49 k

 libzip                                 x86_64                    0.10.1-8.el7                              base                        48 k

 mailcap                                noarch                    2.1.41-2.el7                              base                        31 k

 net-snmp-libs                          x86_64                    1:5.7.2-24.el7                            base                       747 k

 php                                    x86_64                    5.4.16-36.el7_1                           base                       1.4 M

 php-bcmath                             x86_64                    5.4.16-36.el7_1                           base                        56 k

 php-cli                                x86_64                    5.4.16-36.el7_1                           base                       2.7 M

 php-common                             x86_64                    5.4.16-36.el7_1                           base                       563 k

 php-gd                                 x86_64                    5.4.16-36.el7_1                           base                       126 k

 php-ldap                               x86_64                    5.4.16-36.el7_1                           base                        51 k

 php-mbstring                           x86_64                    5.4.16-36.el7_1                           base                       503 k

 php-mysql                              x86_64                    5.4.16-36.el7_1                           base                        99 k

 php-pdo                                x86_64                    5.4.16-36.el7_1                           base                        97 k

 php-xml                                x86_64                    5.4.16-36.el7_1                           base                       124 k

 t1lib                                  x86_64                    5.1.2-14.el7                              base                       166 k

 unixODBC                               x86_64                    2.3.1-11.el7                              base                       413 k

 zabbix-web                             noarch                    3.0.1-1.el7                               zabbix                     3.3 M

Transaction Summary

=============================================================================================================================================

Install  2 Packages (+25 Dependent packages)

Total download size: 17 M

 

 

4.我们给本机也安装上客户端(如果服务端不需要监控略过此步)


yum install zabbix-agent

 

 

5.安装mysql数据库


CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了。用mariadb也行。我还是选择了mysql


#导入安装源


rpm -ivh mysql-community-release-el7-5.noarch.rpm


#用 yum 安装 Mysql


yum install mysql-community-server

systemctl enable mysqld  #设置开机启动

systemctl start mysqld   #启动服务


=================================================

备注:1 mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码


      2 grep 'temporary password' /var/log/mysqld.log 找到root默认密码


      3 mysql5.7默认安装了密码安全检查插件(validate_password)


默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误

===================================================

#修改root本地登录密码

mysqladmin -u root  -p oldpass password "Admin@123"

#登录mysql

mysql -uroot -p

mysql> create database zabbix character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'Admin@123';

Query OK, 0 rows affected (0.00 sec)

mysql> quit

Bye


(2)进入到这个目录


cd /usr/share/doc/zabbix-server-mysql-3.0.8


运行命令


zcat create.sql.gz | mysql -uroot -p zabbix


6.启动zabbix server服务


修改配置文件:


vi /etc/zabbix/zabbix_server.conf


DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=Admin@123


备注:实际上我的配置文件修改的是DBHost和DBPassword去掉前面的#号。


启动zabbix服务,设置开机自启动


systemctl start zabbix-server

systemctl enable zabbix-server

 

 

7.编辑zabbix前端的PHP配合配置


vi /etc/httpd/conf.d/zabbix.conf


php_value max_execution_time 300

php_value memory_limit 128M

php_value post_max_size 16M

php_value upload_max_filesize 2M

php_value max_input_time 300

php_value always_populate_raw_post_data -1

php_value date.timezone Asia/Shanghai

备注:实际上我就是修改了时区

 

启动apache服务,设置开机自启动

systemctl start httpd

systemctl enable httpd

 

8.登陆zabbix

http://IP/zabbix/

显示的界面 




Zabbix之配置文件详解


zabbix的配置文件一般有三种:


zabbixserver的配置文件zabbix_server.conf

zabbixproxy的配置文件zabbix_proxy.conf

zabbix_agentd的配置文件zabbix_agentd.conf


  1. zabbixserver的配置文件:


NodeID=0 #分布式节点id号,0代表是独立服务器,默认是被注释掉的,不强制配置 

ListenPort=10051 #zabbix server的端口,默认是10051,可以自行修改, 


范围是1024-32767 ,一般默认即可 


SourceIP=  #连接的源ip地址,默认为空,默认即可 


LogFile=/tmp/zabbix_server.log #日志文件的存放位置 


LogFileSize=1 #日志文件的大小,单位为MB,当设置为0时,表示不仅行日志轮询, 

默认设置为1,默认即可 


DebugLevel=3 #指定调试级别,默认即可 


PidFile=/tmp/zabbix_server.pid #pid文件的存放位置 


DBHost=localhost #数据库主机名,当设置为localhost时,连接mysql通过sock 

DBName=zabbix #指定存放zabbix数据数据库的名字 

DBUser=zabbix #指定连接数据库的用户名 

DBPassword=123456 #用户连接数据库需要的密码 


DBSocket=/var/lib/mysql/mysql.sock #前文主机设置为localhost,用户 

连接数据库所用的sock位置, 


DBPort=3306 #数据库的端口号,当用sock连接时,无关紧要,当通过网络连接时需设置 


StartPollers=5 #默认即可 

StartIPMIPollers=0 #使用IPMI协议时,用到的参数 

StartTrappers=5 #打开的进程数, 

StartPingers=1 同上 

StartDiscoverers=1 

StartHTTPPollers=1 

JavaGateway=127.0.0.1 #JavaGateway的ip地址或主机名 

JavaGatewayPort=10052 #JavaGateway的端口号 

StartJavaPollers=5 #开启连接javagatey的进程数 


SNMPTrapperFile=/tmp/zabbix_traps.tmp 

StartSNMPTrapper=0 #如果设置为1,snmp trapper进程就会开启 


ListenIP=0.0.0.0 #监听来自trapper的ip地址 


ListenIP=127.0.0.1 

HousekeepingFrequency=1 #zabbix执行Housekeeping的频率,单位为hours 


MaxHousekeeperDelete=500 #每次最多删除历史数据的行 


SenderFrequency=30 #zabbix试图发送未发送的警报的时间,单位为秒 


CacheSize=8M #缓存的大小 


CacheUpdateFrequency=60#执行更新缓存配置的时间,单位为秒数 


StartDBSyncers=4 

HistoryCacheSize=8M 

TrendCacheSize=4M 

HistoryTextCacheSize=16M 

NodeNoEvents=0 

NodeNoHistory=0 

Timeout=3 

TrapperTimeout=300 

UnreachablePeriod=45 

UnavailableDelay=60 

UnreachableDelay=15 


AlertScriptsPath=/usr/local/zabbix/shell #脚本的存放路径


FpingLocation=/usr/local/sbin/fping #fping指令的绝对路径 


SSHKeyLocation= 

LogSlowQueries=0 

TmpDir=/tmp

Include=/usr/local/etc/zabbix_server.general.conf 


Include=/usr/local/etc/zabbix_server.conf.d/ #子配置文件路径 


StartProxyPollers=1 #在zabbix proxy被动模式下用此参数 


ProxyConfigFrequency=3600#同上 

ProxyDataFrequency=1



zabbixagentd的配置文件


PidFile=/tmp/zabbix_agentd.pid #pid文件的存放位置 

LogFile=/tmp/zabbix_agentd.log #日志文件的位置 


LogFileSize=1 #当日志文件达到多大时进行轮询操作 


DebugLevel=3 #日志信息级别 


SourceIP= #连接的源ip地址,默认为空,即可 


EnableRemoteCommands=0 #是否允许zabbix server端的远程指令

 

0表示不允许, 

1表示允许 


LogRemoteCommands=0 #是否开启日志记录shell命令作为警告 0表示不允许,1表示允许 


Server=127.0.0.1 #zabbix server的ip地址或主机名,可同时列出多个,需要用逗号隔开 

ListenPort=10050 #zabbix agent监听的端口 

ListenIP=0.0.0.0 #zabbix agent监听的ip地址 


StartAgents=3 #zabbix agent开启进程数 

ServerActive=127.0.0.1 #开启主动检查 


Hostname=Zabbix server#在zabbix server前端配置时指定的主机名要相同,最重要的配置 


RefreshActiveChecks=120 #主动检查刷新的时间,单位为秒数 

BufferSend=5 #数据缓冲的时间 

BufferSize=100 #zabbix agent数据缓冲区的大小,当达到该值便会发送所有的数据到zabbixserver

 

MaxLinesPerSecond=100 #zabbix agent发送给zabbix server最大的数据行 


AllowRoot=0 #是否允许zabbix agent 以root用户运行 


Timeout=3 #设定处理超时的时间 


Include=/usr/local/etc/zabbix_agentd.userparams.conf 


Include=/usr/local/etc/zabbix_agentd.conf.d/ #包含子配置文件的路径 


UnsafeUserParameters=0 #是否允许所有字符参数的传递 

UserParameter= #指定用户自定义参数


zabbixproxy的配置文件


Server=192.168.70.133#指定zabbix server的ip地址或主机名 

Hostname=zabbix-proxy-1.35 #定义监控代理的主机名,需和zabbix server前端配置时指定的节点名相同 

LogFile=/tmp/zabbix_proxy.log #指定日志文件的位置 

PidFile=/tmp/zabbix_proxy.pid #pid文件的位置 

DBName=zabbix_proxy #数据库名 

DBUser=zabbix #连接数据库的用户 

DBPassword=123456#连接数据库用户的密码 


ConfigFrequency=60 #zabbix proxy从zabbix server取得配置数据的频率 


DataSenderFrequency=60 #zabbix proxy发送监控到的数据给zabbix server的频率





                zabbix清理历史数据

zabbix属于一个细度化的监控工具,其入库数据随着细度的增加相应的入库数据量也会较大,当数据量到一定时候的时候其反映速度会比较慢,尽管其监控服务在配置时可以指定数据的保存周期, 但是了解下通过直接操作数据库进行数据删除还是有必要的。


通过数据库进行删除的脚本如下:


#!/bin/bash

User="root"

Passwd="361way"

Date=`date -d $(date -d "-30 day" +%Y%m%d) +%s` #取30天之前的时间戳

$(which mysql) -u${User} -p${Passwd} -e "

use zabbix;

DELETE FROM history WHERE 'clock' < $Date;

optimize table history;

DELETE FROM history_str WHERE 'clock' < $Date;

optimize table history_str;

DELETE FROM history_uint WHERE 'clock' < $Date;

optimize table history_uint;

DELETE FROM  trends WHERE 'clock' < $Date;

optimize table  trends;

DELETE FROM trends_uint WHERE 'clock' < $Date;

optimize table trends_uint;

DELETE FROM events WHERE 'clock' < $Date;

optimize table events;

"

注:其中histroy是详细的历史数据,trends是图表趋势数据。一般情况下,根据我的自定义,会将histroy数据保留7天,trend数据保留365天。


             zabbix_get命令


在zabbix server上执行zabbix_get命令来试着获取item值


zabbix_get命令详解


    命令在zabbix安装目录bin下,如果是window命令自然是zabbix_get.exe,使用方法都是一样的

。端口和源(绑定)IP是可选的,其他参数不能漏掉



# /usr/local/zabbix-2.2.1/bin/zabbix_get -h


 Zabbix get v2.2.1 (revision 40808) (09 December 2013)

usage: zabbix_get [-hV] -s <host name or IP> [-p <port>] [-I <IP address>] -k <key>

Options:

 -s --host <host name or IP>          Specify host name or IP address of a host

 -p --port <port number>              Specify port number of agent running on the host. Default is 10050

 -I --source-address <IP address>     Specify source IP address

-k --key <key of metric>             Specify key of item to retrieve value for

-h --help                            Give this help

 -V --version                         Display version number

Example: zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"



参数说明:

-s --host: 指定客户端主机名或者IP


-p --port:客户端端口,默认10050


-I --source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的时候,你指定一个。


-k --key:你想获取的key


至于使用长参数还是短的,自己选,我经常使用-s而不是-host,太长了。来个例子

 

zabbix_get获取数据


获取负载


./zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg15]"

0.270000



./zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg15]"

0.270000



获取主机名


# ./zabbix_get -s 127.0.0.1 -p 10050 -I 127.0.0.1 -k "system.hostname"

 10-9-4-20



./zabbix_get -s 127.0.0.1 -p 10050 -I 127.0.0.1 -k "system.hostname"

 10-9-4-20 




zabbix_get是什么?


zabbix-get 是Zabbix 中的一个程序,用于zabbix-Server 到zabbix-agent 的数据获取,通常可以用来

检测验证agent 的配置是否正确,类似nagios的./check_nt等监控工具。


zabbix_get作用?


1)Server端和Agent端测试数据


2)判断一些故障问题,或者获取指定数据。


zabbix_get格式:


[root@loganalyzer bin]# ./zabbix_get -h

usage:

  zabbix_get -s host-name-or-IP [-p port-number] [-I IP-address] -k item-key

  zabbix_get -h

  zabbix_get -V

Get data from Zabbix agent.

General options:

  -s --host host-name-or-IP  Specify host name or IP address of a host

  -p --port port-number      Specify port number of agent running on the host

                             (default: 10050)

  -I --source-address IP-address   Specify source IP address

  -k --key item-key          Specify key of the item to retrieve value for

  -h --help                  Display this help message

  -V --version               Display version number

  Example(s):

  zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"

zabbix_get基本参数详解:


-s --host: 指定客户端主机名或者IP

-p --port:客户端端口,默认10050


-I --source-address:指定源IP,写上zabbix server的ip地址即可,一般留空,服务器如果有多ip的


时候,你指定一个。


-k --key:  你想获取的key

-h --help  帮助

-V --version 版本

zabbix_get获取信息案例:


1)获取指定主机cpu五分钟之内的负载


[root@loganalyzer bin]# ./zabbix_get -s 192.168.1.245 -p 10050 -k 'system.cpu.load[all,avg5]'

0.350000

[root@loganalyzer bin]# 




zabbix_get是zabbix中的一个程序,用于zabbix-server到zabbix-agent获取数据。通常用来检测agent的配置是否正确。


获取CPU负载


[root@localhost ~]# zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg15]"

0.000000


key可以加引号,也可以不加。


获取主机名


[root@localhost ~]# zabbix_get -s 127.0.0.1 -p 10050 -k system.hostname

localhost.localdomain



Zabbix_sender命令:

zabbix_sender是什么?有什么作用?


zabbix获取key值有超时时间,如果自定义的key脚本一般需要执行很长时间,这根本没法去做监控,那

怎么办呢?使用zabbix监控类型zabbix trapper,需要配合zabbix_sender给它传递数据。关于trapper

的用法,我们来弄个实例。


执行超长时间脚本,如:脚本去几十台服务器拉去数据,每个日志都上G,然后日志整合在一起,统计出

返回值。这种脚本比如超时,所以我们必须改成让客户端提交数据的方式。


zabbix_sender命令用法:


[root@localhost ~]# zabbix_sender -h

Zabbix Sender v2.2.11 (revision 56693) (12 November 2015)

usage: zabbix_sender [-Vhv] {[-zpsI] -ko | [-zpI] -T -i <file> -r} [-c <file>]

Options:

  -c --config <file>                   Absolute path to the configuration file

  -z --zabbix-server <server>          Hostname or IP address of Zabbix server

  -p --port <server port>              Specify port number of server trapper running on the server. Default is 10051

  -s --host <hostname>                 Specify host name. Host IP address and DNS name will not work

  -I --source-address <IP address>     Specify source IP address

  -k --key <key> 

                       Specify item key

  -o --value <key value>               Specify value

  -i --input-file <input file>         Load values from input file. Specify - for standard input

                                       Each line of file contains whitespace delimited: <hostname> <key> <value>

                                       Specify - in <hostname> to use hostname from configuration file or --host argument

  -T --with-timestamps                 Each line of file contains whitespace delimited: <hostname> <key> <timestamp> <value>

                                       This can be used with --input-file option

                                       Timestamp should be specified in Unix timestamp format

  -r --real-time                       Send metrics one by one as soon as they are received

                                       This can be used when reading from standard input

  -v --verbose                         Verbose mode, -vv for more details

Other options:

  -h --help                            Give this help

  -V --version                         Display version number


使用参数:


  -c --config <file>                   配置文件绝对路径

  -z --zabbix-server <server>          zabbix server的IP地址

  -p --port <server port>              zabbix server端口.默认10051

  -s --host <hostname>                 主机名,zabbix里面配置的主机名(不是服务器的hostname),不能使用ip地址

  -I --source-address <IP address>     源IP

  -k --key <key>                       监控项的key

  -o --value <key value>               key值

  -i --input-file <input file>         从文件里面读取hostname、key、value 一行为一条数据,使用空格作为分隔符,如果主机名带空格,那么请使用双引号包起来

  -T --with-timestamps              一行一条数据,空格作为分隔符: <hostname> <key> <timestamp> <value>,配合 --input-file option,timestamp为unix时间戳

  -r --real-time                      将数据实时提交给服务器

  -v --verbose                         详细模式, -vv 更详细





zabbix的服务器端与客户端连接的主要工具就是zabbix里bin文件夹下的zabbix_get文件,这个命令只能在zabbix的server端使用,如果在agent端使用就会提示如下的错误:


zabbix_get [7189]: Check access restrictions in Zabbix agent configuration


在server端使用也是有说法,这里先查查看它的官方帮助


[root@chen-zk-001 bin]# ./zabbix_get -h

Zabbix get v2.2.6 (revision 48483) (27 August 2014)

usage: zabbix_get [-hV] -s <host name or IP> [-p <port>] [-I <IP address>] -k <key>

Options:

  -s --host <host name or IP>          Specify host name or IP address of a host

  -p --port <port number>              Specify port number of agent running on the host. Default is 10050

  -I --source-address <IP address>     Specify source IP address

  -k --key <key of metric>             Specify key of item to retrieve value for

  -h --help                            Give this help

  -V --version                         Display version number

   

Example: zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"


里面说明了,-s后面接的是目标地址,-p后面要加端口号,这个一般都是10050, -I 后面加原地址,不过这个一般用不上,-k 后面接的就是item项目里的key。


不过这里要注意一点!-s 后面是要接上web界面里能连上的ip地址,本人实验里,监控zabbix_server使用127.0.0.1会报错,会提示Received empty response from Zabbix Agent at [127.0.0.1]. Assuming that agent dropped connection because of access permission。然后在agentd.conf里把127.0.0.1更改成了机器的内网ip就可以成功监控了。








Item属性含义:(拿3.0举例)

属性描述

名称监控项item名称

类型item类型(常见agent、SNMP、agent(active)等)

Key监控项item的key,点击select可看到系统很多自带的key,也可以看到用户自定义的key。

主机接口主机接口,例如agent、SNMP、impi等

信息类型自己根据要监控项目定义

数据类型一般十进制

单位默认情况下,如果原始值超过1000,那么他会先除以1000并且显示出来。

如果单位被指定为 B (byte),那么它会除以1024然后再显示数据。因此在监控流量和文件大小的时候不要用错单位,否则会出现数据不一致的情况。

自定义倍数启用这个选项,所有接收到的整数或者浮点数都会乘以这个文本框里面的值。使用这个选项,zabbix将会把收到的KB,MBps等数据先转为B,Bps。否则zabbix不能正确设置前缀(K,M,G等等)。

数据更新间隔数据更新时间注意:如果设置为0,那么这个数据将永久不更新。但是如果在灵活更新间隔(flexible interval)里面设置了一个非0间隔,那么以这个为准

自定义时间间隔eg:

1-5,11:00-19:00,表示周一到周五的早上10点到晚上19点每十秒更新一次数据。其余时间使用默认值,不会更新。在zabbix主动方式的item不适用

历史数据保留时长默认天,历史保留天数。

趋势数据存储默认天

存储值涉及到计算公式

查看值值映射,需要配置数字映射到字符的映射表。

新应用创建一个新的应用

应用集eg:cpu、disk、network,监控项可以属于多个应用

主机资产记录自动模式数据自动填充到inventory资产清单的相应属性

描述监控项的描述

启用是否启用这个监控项.










              LNMP+zabbix-3.2.1 


一、zabbix服务端部署 


1、解压 

tar -xf nginx-1.10.1.tar.gz 

tar -xf php-5.6.22.tar.gz 

tar -xf freetype-2.4.0.tar.bz2 

tar -xf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz 

tar -xf zabbix-3.2.1.tar.gz  


2、安装Nginx yum -y install gcc openssl-devel pcre-devel  

   

useradd -s /sbin/nologin nginx 

 

cd ~/nginx-1.10.1/ 

./configure \ 

>--prefix=/usr/local/nginx \ 

>--user=nginx \ >--group=nginx \ 

>--with-http_ssl_module 


make && make install 


vim /usr/local/nginx/conf/nginx.conf   

   

location / {             

root    html;             

index    index.php        

index.html        

index.htm;     

}     

location ~ \.php$ {             

root   html;             

fastcgi_pass        

127.0.0.1:9000;             

fastcgi_index        

index.php;             

fastcgi_param        

SCRIPT_FILENAME    $document_root$fastcgi_script_name;             

include            fastcgi_params;     


/usr/local/nginx/sbin/nginx    #启动nginx


3、安装MySQL 


useradd mysql 


mv mysql-5.6.30-linux-glibc2.5-x86_64/ /usr/local/mysql 


chown -R mysql.mysql /usr/local/mysql/ 


su - mysql   

  

cd /usr/local/mysql/scripts/  

   

./mysql_install_db \     

>--user=mysql \     

>--basedir=/usr/local/mysql \     

>--datadir=/usr/local/mysql/data  

   

exit 


cd /usr/local/mysql/support-files/ 


cp my-default.cnf /etc/my.cnf 

cp mysql.server /etc/init.d/mysql 

vim /etc/init.d/mysql     

basedir=/usr/local/mysql     

datadir=/usr/local/mysql/data 


echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile 


source /etc/profile 


chkconfig --add mysql 

chkconfig mysql on 


service mysql start 


/usr/local/mysql/bin/mysqladmin -u root password '123456' mysql -uroot -p123456     

mysql> create database zabbix character set utf8;     

mysql> grant all on zabbix.* to zabbix@localhost identified by 'qwe123';  


4、安装Freetype(可以使用系统自带的) 


cd ~/freetype-2.4.0 

./configure --prefix=/opt/freetype-2.4.0 

make && make install 

yum  -y  install freetype  


5、安装PHP 


yum -y install libjpeg-devel libxml2-devel libpng-devel 


cd ~/php-5.6.22/

./configure \ 

>--prefix=/usr/local/php5/ \ 

>--enable-fpm \ 

>--enable-mbstring \ 

>--enable-bcmath \ 

>--enable-sockets \ 

>--with-config-file-path=/usr/local/php5/etc \ 

>--with-mysql=/usr/local/mysql/ \ 

>--with-mysqli=/usr/local/mysql/bin/mysql_config \ 

>--with-gd \ 

>--with-gettext \ 

>--with-jpeg-dir \ 

>--with-freetype-dir=/opt/freetype-2.4.0/  

#使用系统自带的不用指安装目录 

make && make install 


cp  php.ini-production /usr/local/php5/etc/php.ini 


vim /usr/local/php5/etc/php.ini 

    

date.timezone = Asia/Shanghai     

max_execution_time = 300     

post_max_size = 32M     

max_input_time = 300     

memory_limit = 128M     

always_populate_raw_post_data = -1 

cd /usr/local/php5/etc/ 

cp php-fpm.conf.default php-fpm.conf 

vim php-fpm.conf     

pid = run/php-fpm.pid     

error_log = log/php-fpm.log     

log_level = error     

daemonize = yes     

user = nginx     

group = nginx     

listen = 127.0.0.1:9000     

pm = dynamic     

pm.max_children = 32     

pm.start_servers = 15     

pm.min_spare_servers = 5     

pm.max_spare_servers = 32 

cd ~/php-5.6.22/sapi/fpm/ 

cp init.d.php-fpm /etc/rc.d/init.d/php-fpm 

chmod +x /etc/rc.d/init.d/php-fpm 

chkconfig --add php-fpm 


chkconfig php-fpm on 


service php-fpm start  


6、安装Zabbix 


yum -y install net-snmp-devel curl-devel 


useradd zabbix 

cd zabbix-3.2.1 

./configure \ 

>--prefix=/usr/local/zabbix \ 

>--enable-server \ 

>--enable-proxy \ 

>--enable-agent \ 

>--with-mysql=/usr/local/mysql/bin/mysql_config \ 

>--with-net-snmp \ 

>--with-libcurl 


make && make install 


cd ~/zabbix-3.2.1/database/mysql/ 

#导入数据库

mysql -uzabbix -pqwe123 zabbix < schema.sql 

mysql -uzabbix -pqwe123 zabbix < images.sql 

mysql -uzabbix -pqwe123 zabbix < data.sql 


mkdir /var/log/zabbix 


chown zabbix.zabbix /var/log/zabbix 


ln -s /usr/local/zabbix/etc/ /etc/zabbix 

ln -s /usr/local/zabbix/bin/* /usr/bin/ 

ln -s /usr/local/zabbix/sbin/* /usr/sbin/ 

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/libmysqlclient.so.18  

#可以使用设置搜索库文件的路径方式实现 


[root@localhost LNMP+zabbix-3.2.1]# tail -1  /etc/ld.so.conf /usr/local/mysql/lib/ 

[root@localhost LNMP+zabbix-3.2.1]# ldconfig  -v |  grep libmysqlclient.so.18  

cd ~/zabbix-3.2.1/misc/init.d/fedora/core 

cp zabbix_* /etc/init.d/ 


vim /etc/init.d/zabbix_server 

    

BASEDIR=/usr/local/zabbix 


vim /etc/init.d/zabbix_agentd     


BASEDIR=/usr/local/zabbix 


vim  /etc/services     z

abbix-agent    10050/tcp    # Zabbix Agent     

zabbix-agent    10050/udp    # Zabbix Agent     

zabbix-server    10051/tcp    # Zabbix Trapper     

zabbix-server    10051/udp    # Zabbix Trapper 


vim /etc/zabbix/zabbix_server.conf     

DBName=zabbix     

DBUser=zabbix     

DBPassword=qwe123     

LogFile=/var/log/zabbix/zabbix_server.log 


vim /etc/zabbix/zabbix_agentd.conf     

Server=127.0.0.1,192.168.100.10     

ServerActive=192.168.100.10:10051     

Hostname=zabbix server     

LogFile=/var/log/zabbix/zabbix_server.log     

UnsafeUserParemeters=1 

cd ~/zabbix-3.2.1/frontends/ 

cp -r php/ /usr/local/nginx/html/zabbix 


chown -R nginx.nginx /usr/local/nginx/html/zabbix/ 


service zabbix_server start 

chkconfig zabbix_server on 

service zabbix_agentd start 

chkcongig zabbix_agentd on  


二、zabbix客户端部署 


tar -xf zabbix-3.2.1.tar.gz 


yum -y install gcc 


useradd zabbix 


./configure --prefix=/usr/local/zabbix --enable-agent && make && make install 


mkdir /var/log/zabbix 


chown zabbix.zabbix /var/log/zabbix/ 


cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ 


chmod +x /etc/init.d/zabbix_agentd  


ln -s /usr/local/zabbix/etc/ /etc/zabbix 

ln -s /usr/local/zabbix/bin/* /usr/bin/ 

ln -s /usr/local/zabbix/sbin/* /usr/sbin/ 


vim /etc/zabbix/zabbix_agentd.conf  

   

LogFile=/var/log/zabbix/zabbix_agentd.log     

Server=127.0.0.1,192.168.100.10     

ServerActive=192.168.100.10:10051     

Hostname=zabbix client     

UnsafeUserParameters=1 


vim /etc/init.d/zabbix_agentd   

  

BASEDIR=/usr/local/zabbix 


chkconfig zabbix_agentd on 


service zabbix_agentd start











本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1907758,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
监控 Linux 应用服务中间件
centos7 部署zabbix5 踩坑笔记
centos7 部署zabbix5 踩坑笔记
|
3月前
|
监控 关系型数据库 Linux
|
5月前
|
监控 Unix Windows
Zabbix【部署 04】 Windows系统安装配置agent及agent2
Zabbix【部署 04】 Windows系统安装配置agent及agent2
178 0
|
3月前
|
存储 JSON 监控
源码分析Zabbix客户端如何向服务端发起请求
源码分析Zabbix客户端如何向服务端发起请求
30 2
|
5月前
|
监控 Java 数据库
Zabbix【部署 05】 Docker部署Zabbix Server Agent Agent2 Web interface及 Java-Gate-Way(详细启动脚本及踩坑记录)不定时更新
Zabbix【部署 05】 Docker部署Zabbix Server Agent Agent2 Web interface及 Java-Gate-Way(详细启动脚本及踩坑记录)不定时更新
158 0
|
5月前
|
监控 Docker 容器
Zabbix【部署 03】zabbix-agent2安装配置使用(zabbix-agent2监控docker实例分享)
Zabbix【部署 03】zabbix-agent2安装配置使用(zabbix-agent2监控docker实例分享)
273 0
|
5月前
|
监控 Java
Zabbix【部署 02】Zabbix-Java-Gateway安装配置使用(使用Zabbix-Java-Gateway通过JMX监控Java应用程序实例分享)
Zabbix【部署 02】Zabbix-Java-Gateway安装配置使用(使用Zabbix-Java-Gateway通过JMX监控Java应用程序实例分享)
94 0
|
5月前
|
监控 前端开发 应用服务中间件
Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录
Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录
419 0
|
5月前
|
监控 关系型数据库 MySQL
zabbix部署以及配置
zabbix部署以及配置
80 3
|
7月前
|
监控 网络协议 Unix
zabbix通过agent客户端监控主机
zabbix通过agent客户端监控主机

推荐镜像

更多