您的位置:首页 > 其它

zabbix客户端部署

2017-03-17 21:10 399 查看
服务端部署备份原有的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=centos6baseurl=https://mirrors.aliyun.com/centos/6/os/x86_64/enabled=1gpgkey=https://mirrors.aliyun.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6gpgcheck=1 [epel]name=Extra Packages for Enterprise Linux 6 - $basearchbaseurl=http://mirrors.aliyun.com/epel/6/$basearch http://mirrors.aliyuncs.com/epel/6/$basearchfailovermethod=priorityenabled=1gpgcheck=0gpgkey=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.logLogFileSize=0PidFile=/var/run/zabbix/zabbix_server.pidDBName=zabbixDBUser=zabbixDBPassword=123DBSocket=/var/lib/mysql/mysql.sock SNMPTrapperFile=/var/log/snmptt/snmptt.logAlertScriptsPath=/usr/lib/zabbix/alertscriptsExternalScripts=/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=centos6baseurl=https://mirrors.aliyun.com/centos/6/os/x86_64/enabled=1gpgkey=https://mirrors.aliyun.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6gpgcheck=1 [epel]name=Extra Packages for Enterprise Linux 6 - $basearchbaseurl=http://mirrors.aliyun.com/epel/6/$basearch http://mirrors.aliyuncs.com/epel/6/$basearchfailovermethod=priorityenabled=1gpgcheck=0gpgkey=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.111ServerActive=192.168.1.111
[root@www zabbix]# service zabbix-agentd restart
部署完成后在服务端测试,能获取到客户端主机名,说明服务端能对客户端进行监控
[root@ns1 ~]# zabbix_get -s 192.168.1.102 -k system.hostnamewww.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

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zabbix客户端部署