zabbix

知识点

1.查找一个目录下最近30天没被改动过的所有文件:

find 目录 -mtime +30

2.临时加网关:

route add default gw 172.25.254.100


安装zabbix服务端

server1(172.25.254.1 系统redhat7.3):

查看yum仓库中的php版本:

[root@server1 ~]# yum list php
      ...
php.x86_64                      5.4.16-42.el7                      @rhel7.3     

#一会安装zabbix时依赖性里面需要的所有php插件都必须保持和这个版本一致

#访问官网https://www.zabbix.com/download,可以根据官网给出的步骤安装zabbix

#安装zabbix3.0的yum仓库

rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

或者

链接:https://pan.baidu.com/s/1Bf6OPAcSQ9AQPgvvWyMvPw
提取码:ebco

#在线安装zabbix

yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent

#提示找不到php-bcmath php-mbstring,去其他网站(如https://pkgs.org/)下载这两个包并安装,版本号一定要是5.4.16-42.el7才行(和本机yum仓库中的php版本一致)

链接:https://pan.baidu.com/s/1WCOauNNvIDadDC9l1cFpiA    #链接提供的是3.4.6版本的zabbix,注意后面zcat操作的时候选择的目录版本号,以及zabbix客户端安装的版本要一致
提取码:7z9q

yum localinstall -y php-bcmath-5.4.16-42.el7.x86_64.rpm php-mbstring-5.4.16-42.el7.x86_64.rpm

#现在安装zabbix就可以在线安装成功了

yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent

Tip:
#安装zabbix之前先修改yum配置文件 vim /etc/yum.conf [main] cachedir=/var/cache/yum/$basearch/$releasever keepcache=1 #将这里修改为1,表示保留yum安装时从网上下载的包 #安装完zabbix之后可以看到/var/cache/yum/x86_64/7Server目录下有安装zabbix的包和依赖包,将这些包复制出来下次就可以离线安装了 [root@server1 packages]# ls /var/cache/yum/x86_64/7Server/zabbix/packages/zabbix-agent-3.4.7-1.el7.x86_64.rpm
zabbix-server-mysql-3.4.7-1.el7.x86_64.rpm
zabbix-web-3.4.7-1.el7.noarch.rpm
zabbix-web-mysql-3.4.7-1.el7.noarch.rpm
[root@server1 packages]# ls /var/cache/yum/x86_64/7Server/zabbix-non-supported/packages/
fping-3.10-1.el7.x86_64.rpm  iksemel-1.4-2.el7.centos.x86_64.rpm

#安装数据库

yum install -y mariadb-server mariadb

systemctl start mariadb

mysql_secure_installation  #初始化数据库(回车->输密码->一路回车)

mysql -predhat

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;    #创建zabbix库,并使zabbix库支持utf8格式

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'redhat';  #创建zabbix库和zabbix用户,并给它使用zabbix库的权限

MariaDB [(none)]> flush privileges;

#使用zcat在线查看zabbix给出的数据库压缩文件并导入zabbix库

zcat /usr/share/doc/zabbix-server-mysql-3.4.7/create.sql.gz |mysql -uzabbix -predhat zabbix

#修改php时区

vim /etc/php.ini

878 date.timezone = Asia/Shanghai

#修改zabbix配置文件

vim /etc/zabbix/zabbix_server.conf

107 DBUser=zabbix

115 DBPassword=redhat

#关闭防火墙

systemctl stop firewalld

systemctl disable firewalld

#开启zabbix服务

systemctl start zabbix-server zabbix-agent httpd

systemctl enable zabbix-server zabbix-agent httpd mariadb

#服务端的日志在/var/log/zabbix/zabbix_server.log

访问172.25.254.1/zabbix完成安装:

#mysql中设置的用户是zabbix密码是redhat

#默认用户名Admin密码zabbix(Admin是超级用户)

#点击可以修改系统语言

安装zabbix客户端

 server2(172.25.254.2 系统redhat6.5):

.el6版本客户端下载地址:http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/

链接:https://pan.baidu.com/s/1Pc9n6gz8sptug9XfKxV0Pg
提取码:y2yf

rpm -ivh zabbix-agent-3.4.7-1.el6.x86_64.rpm

vim /etc/zabbix/zabbix_agentd.conf  #修改客户端配置文件

 97 Server=172.25.254.1

138 ServerActive=172.25.254.1

149 Hostname=server2

vim /etc/hosts       #做好解析,同时server1也要做解析

172.25.254.2    server2

#关闭防火墙:

service iptables stop
chkconfig iptables off

/etc/init.d/zabbix-agent start

netstat -antpl |grep zabbix
tcp        0      0 0.0.0.0:10050               0.0.0.0:*                   LISTEN      1170/zabbix_agentd  
tcp        0      0 :::10050                    :::*                        LISTEN      1170/zabbix_agentd 

添加被监控主机

1.手动添加

以手动的方式添加安装了zabbix客户端的主机

配置-->主机-->创建主机

#然后点击添加即可

2.自动发现

服务端端自动寻找网段内zabix客户端主机并添加进来

#删除无关项


配置-->自动发现

#修改系统默认的发现规则中的IP范围

#启动

配置-->动作-->事件源(切换为自动发现)

#启动系统默认动作

#为了测试效果,server1重新启动zaabbix-server,可以看到主机界面自动添加了server2主机

3.自动注册

zabbix客户端自动寻找服务端,并自动注册进来

#删除无关项

配置-->主机-->删除server2

配置-->动作-->停用Auto discovery. Linux servers.

配置-->自动发现-->停用Local network


配置-->动作-->事件源(切换为自动注册)-->创建动作

#点击添加

#为了测试效果,server2重启zabbix-agent

 添加监控项

1.增加http(实验主机server2)

#在server2模板中添加Template App HTTP Service

#点击更新

#server2上安装http服务

[root@server2 ~]# yum install -y httpd

[root@server2 ~]# /etc/init.d/httpd start

#配置-->主机-->server2-->监控项中可以看到多出了HTTP service

#现在停止http服务

[root@server2 ~]# /etc/init.d/httpd stop

#监控界面上有报错产生(可能有延迟)

2.增加数据库(实验主机server1)

server1上也安装了zabbix-agent,所以server1既是服务端又是客户端,也受到zabbix服务监控

2.1使用默认模板:

[root@server1 ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf       #这个文件记录了访问mariadb的脚本,其中访问路径如下所示

  5 UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | aw    k '{print $$2}'

[root@server1 ~]# mkdir /var/lib/zabbix         #创建这个目录
[root@server1 ~]# vim /var/lib/zabbix/.my.cnf  #访问数据库的用户密码可以写在.my.cnf中,注意".",这是个隐藏文件

[mysql]
host=localhost
user=root
password=redhat
[mysqladmin]
host=localhost
user=root
password=redhat
[root@server1 ~]# systemctl restart zabbix-agent
#添加mysql模板Template DB MySQL

#server1监控项中多出了MYSQL并监控mysql服务14个状态

2.2使用Percona插件、并增加外部监控模板

 Percona是通过改进MYSQL后的数据库,该版本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务器行为。

 这里只是套用Percona的percona-zabbix-templates插件,让zabbix可以监控更多的MYSQL数据库参数

2.2.1增加插件:

#插件下载地址:https://www.percona.com/downloads/percona-monitoring-plugins/LATEST/

链接:https://pan.baidu.com/s/1XZ4ujghcy0qEejhrF2-Xxw
提取码:eei7

[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.7-2.noarch.rpm

[root@server1 ~]# ls /var/lib/zabbix/percona/templates/
userparameter_percona_mysql.conf   #这个是配置文件,将放到agent端的/etc/zabbix/zabbix_agentd.d/目录下
zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.7.xml    #这是一个监控模板文件
[root@server1 ~]# ls /var/lib/zabbix/percona/scripts/
get_mysql_stats_wrapper.sh  #这个脚本是监控获取mysql状态的

ss_get_mysql_stats.php       #这个.php保存连接mysql的用户名密码


[root@server1 ~]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf   /etc/zabbix/zabbix_agentd.d/

#新建一个.cnf文件,名字与php文件一样

[root@server1 ~]# vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf

<?php
$mysql_user = 'root';
$mysql_pass = 'redhat';           
[root@server1 ~]# systemctl restart zabbix-agent
#测试一下脚本是否可以生效
[root@server1 ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
3
#修改/var/lib/zabbix/下的.my.cnf文件
[root@server1 ~]# vim /var/lib/zabbix/.my.cnf

[client]
user=root
password=redhat

#在agent端检测一下是否生效

[root@server1 percona]# sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
0
2.2.2增加监控模板:

这个模板(zbx_percona_mysql_template.xml)从其他地方下载得到:

链接:https://pan.baidu.com/s/15SIkrz48lzPkhIeVAwl_5A
提取码:7wsf

配置-->模板-->创建模板-->加选聚合图形-->点击导入

#在模板中将群组切换为Percona Templates可以看到新加的模板

#在server1主机上删除原先的Template DB MySQL模板添加Template Percona MySQL Server模板

#查看server1的MYSQL监控项,可以看到监控mysql共191个参数,而zabbix默认MYSQL模板只监控14项

#缓存文件默认在/tmp目录下

[root@server1 ~]# ls /tmp/localhost-mysql_cacti_stats.txt    #这个文件即使删掉也会立刻产生
systemd-private-de21613e1e704b4ab1bbc514ff5120cb-httpd.service-XoABpX
systemd-private-de21613e1e704b4ab1bbc514ff5120cb-mariadb.service-ulcjx2

 3.增加nginx(实验主机server2)

#取消Template App HTTP Service模板

#停止http服务

[root@server2 ~]# /etc/init.d/httpd stop

#安装nginx

链接:https://pan.baidu.com/s/1IqGLCWC6zB_R87yuxnMtqQ
提取码:8ht9

[root@server2 ~]# tar zxf nginx-1.12.0.tar.gz
[root@server2 ~]# vim nginx-1.12.0/src/core/nginx.h

 14 #define NGINX_VER          "nginx"
[root@server2 ~]# vim nginx-1.12.0/auto/cc/gcc
172 #CFLAGS="$CFLAGS -g"

[root@server2 ~]# cd nginx-1.12.0

[root@server2 nginx-1.12.0]# yum install -y gcc pcre-devel openssl-devel

[root@server2 nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

[root@server2 nginx-1.12.0]# make && make install

[root@server2 nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

#添加一个状态模块

[root@server2 ~]# vim /usr/local/nginx/conf/nginx.conf

 52         error_page   500 502 503 504  /50x.html;
 53         location = /50x.html {
 54             root   html;
 55         }
 56  57         location /status { 58         stub_status on; 59         access_log off; 60         allow 127.0.0.1; 61         deny all; 62         }

#开启nginx

[root@server2 ~]# nginx

#访问nginx状态模块,并过滤出包含Active的最后一个字符

[root@server2 ~]# curl -s http://127.0.0.1/status |grep Active |awk  '{print $NF}'
1
#进入配置文件目录,创建一个nginx配置文件
[root@server2 ~]# cd /etc/zabbix/zabbix_agentd.d/

[root@server2 zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@server2 zabbix_agentd.d]# vim userparameter_nginx.conf

UserParameter=nginx.active,curl -s http://127.0.0.1/status |grep Active |awk '{print $NF}'

#重启服务

[root@server2 zabbix_agentd.d]# /etc/init.d/zabbix-agent restart

#在server1上做一个测试

[root@server1 ~]# rpm -ivh zabbix-get-3.4.6-1.el7.x86_64.rpm ^C
[root@server1 ~]# zabbix_get -s 172.25.254.2 -p 10050 -k "nginx.active"
1

#添加监控项nginx.active

#添加图形nginx.active下方的监控项选nginx.active

[root@server2 zabbix_agentd.d]# pwd
/etc/zabbix/zabbix_agentd.d

#取curl 127.0.0.1/status结果中第三行第一个字符
[root@server2 zabbix_agentd.d]# curl -s http://127.0.0.1/status |awk NR==3|awk '{print $1}'
151

#修改配置文件

[root@server2 zabbix_agentd.d]# vim userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status |grep Active |awk '{print $NF}'UserParameter=nginx.accepts,curl -s curl -s http://127.0.0.1/status |awk NR==3|awk '{print $1}'

#重启服务

[root@server2 zabbix_agentd.d]# /etc/init.d/zabbix-agent restart

#在server1做测试

[root@server1 ~]# zabbix_get -s 172.25.254.2 -p 10050 -k "nginx.accepts"
168

#添加nainx.accepts监控项

#在刚才建立的图形中加选nainx.accepts监控项,为了测试效果明显可以将绘图风格改为梯度线

添加java支持

监控报警

#去110云报警(http://www.onealert.com/)注册一个帐号,并“添加应用”

#选择zabbix

#保存并获取应用key

#安装相应插件

[root@server1 ~]# cd /usr/lib/zabbix/alertscripts/

Tip:查看zabbix脚本目录方法:
vi /etc/zabbix/zabbix_server.conf
查找关键字AlertScriptsPath

[root@server1 alertscripts]# wget http://www.onealert.com/agent/release/oneitsm_zabbix_release-1.2.0.tar.gz

[root@server1 alertscripts]# tar zxf oneitsm_zabbix_release-1.2.0.tar.gz

[root@server1 alertscripts]# cd oneitsm/bin/

[root@server1 bin]# bash install.sh 5f7717de-34d4-eb7d-6a2f-1bd2d0a2af87   #这个是刚才创建的应用key

start to create config file...
Zabbix管理地址: http://172.25.254.1/zabbix
Zabbix管理员账号: Admin
Zabbix管理员密码:                 #输入zabbix
      ...

create action success!
安装成功.

#进入onealert的个人中心-->绑定邮箱、手机、微信

#启动相关报警媒介

#然后尝试关闭一些监控的服务或主机,稍等片刻会收到来自微信、邮件和电话的报警

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值