Zabbix搭建和部署

1.zabbix监控介绍

1.zabbix简介

  • C/S架构,有一个服务端,去客户端抓数据。在客户端必须要有一个服务启动运行才可以抓取数据;数据可以主动的上报服务端,也可以让服务端去连接客户端获取(通过抓取数据方式,数据获取分两个模式,一个主动模式,一个被动模式),
  • zabbix软件基于C++开发,监控中心需要一个PHP的web环境,因为要开启一个web界面配置和管理 单台server节点(即一台server),理论上 可以支持上万台客户端

2.zabbix瓶颈:

  • 在于采集数据的量,虽然支持上万台,但监控的项目过多,还是会导致zabbix效率降低;所以,当服务器大到一定规模的时候,就需要对zabbix进行优化;
  • 解决方法:可以增加一些代理点,这些代理点充当server,替代server去采集数据,最终得到分析结果再汇报给主服务端server;

3.zabbix架构里,包括了5个组件:

  • zabbix-server 监控中心,接收客户端上报信息,负责配置、统计、操作数据
  • 数据存储 存放数据,比如mysql
  • web界面 也叫web UI,在web界面下操作配置是zabbix简单易用的主要原因(如果没有web界面,就无法在浏览器上配置它)
  • zabbix-proxy 可选组件,它可以代替zabbix-server的功能,减轻server的压力(当机器量很多的时候,可以使用zabbix-proxy)
    • 有时候,服务器分布在多个机房里,每个机房的服务器之间都是一个单独的内网,这时候就可以在某一个局域网里搭建一个 zabbix-proxy ,用这台 proxy 去监控局域网里的机器
  • zabbix-agent 客户端软件(每一台客户端都需要安装agent),负责采集各个监控服务或项目的数据,并上报。

2.zabbix监控安装

1).由于安装zabbix在Linux需要先有个zabbix扩展源,因此用下面命令直接生成一个zabbix扩展源然后通过yum直接进行安装

[root@localhost ~]# rpm -i https://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

2).装好扩展源之后就可以直接使用yum进行安装了,这里所说的操作全部都是在server的机器上进行操作

[root@localhost ~]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql

安装包释义:

  • zabbix-agent //客户端软件
  • zabbix-get //服务端用的一个工具,这个工具可以通过命令行的形式,获得客户端某些监控项目的数据
  • zabbix-server-mysql //这个是服务端跟mysql打交道相关的组件
  • zabbix-web //webUI ,web界面
  • zabbix-web-mysql //web和mysql相关组件

数据库设置

abe5bfd5f67fb96f84c48ef5add93a91e61.jpg

3).还要进入到mysql里面进行创建一个用户以及zabbix库为了存放数据

42ab8fa78c0e7e43f2d48ddfdaa22b58ed6.jpg

4).给新建的zabbix库,导入原始的数据

486673dd6c1172a638a96eded9eedc9cf13.jpg

5).在zabbix_server.conf配置文件中修改下面的配置文件内容

DBHost=127.0.0.1      //添加的
DBName=zabbix        //配置文件中的参照位置
DBUser=zabbix          //配置文件中的参照位置
DBPassword=aming-zabbix  //添加的

注意:

  • mysql和zabbix装在同一台机器上,这里的 DBHost可以写localhost或者127.0.0.1
  • 如果是在生产环境上,有时候为了提升zabbix的性能,可能会把MySQL装在其他机器上,这是的DBHost,就需要写上mysql的ip

6).启动zabbix服务并并检查所监听的端口

ed8fc986dfc1ee9432d00abc11e48df909e.jpg

web测试:

输入自己server上面的ip地址后面还要加一个/zabbix/之后再按照提示点击下一步

05369a9d456ec1521e85c005e0acff8678b.jpg

到这一步要仔细一点以免输入错误会导致下面进行不下去

f69091eb8f0e8efcaf4872dec295d150bef.jpg

abc15d03031d69d07018b0f3c6de076f9b9.jpg

我们是监控服务器有没有异常的所以要使用管理员的身份进行登录,初始用户名Admin 密码是zabbix,登陆进去之后要改一下名字,防止别人获取我们的后台

d4a3d1e4d8816994811c3dd8063aec861a9.jpg

更改管理员的密码有两种情况一种是知道密码的情况下进行修改管理员的密码:

在这种情况下进入zabbix的web界面   点击管理->用户->管理员  就会出现下面的界面之后就可以修改管理员的密码了,同时也可以修改语言,zabbix是支持中文的

更改管理员的密码在忘记管理员的密码的时候进行修改管理员密码:

这时候要进入服务端mysql里面进行修改zabbix管理员的密码:

进入mysql->use zabiix 在执行下面的命令,md5是加密协议

update users set passwd=md5('aminglinux') where alias='Admin'

15726a0ae83203710550dd306d69ed28906.jpg 

在客户端上进行安装zabbix-agent

1).同样需要在客户机安装repo源,只是只需要yum安装zabbix-agent

[root@localhost ~]# rpm -i https://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

2).安装zabbix-agent(只安装这一个就可以了)

[root@localhost ~]# yum install -y zabbix-agent

3).进行配置客户端上面的配置文件需要修改的如下

Server=127.0.0.1 改为  Server=192.168.126.128  //定义服务端的ip(被动模式)
ServerActive=127.0.0.1 改为 ServerActive=192.168.126.128  //不填写服务端的IP,那么就只能使用被动模式;
Hostname=Zabbix server  改为  Hostname=aming-02  //自定义主机名

4).进行·启动zabbix服务,查看监听端口

1b1fdc219012a953624b82feecff30cd1b8.jpg

3.主动模式和被动模式

  • 主动或者被动是相对客户端来讲的
  • 被动模式,服务端会主动连接客户端获取监控项目数据,客户端被动地接受连接,并把监控信息传递给服务端,服务端请求以后,客户端接受到请求以后,才把相应的数据汇报给服务中心
  • 主动模式,客户端会主动把监控数据汇报给服务端,服务端只负责接收即可
    • 定义完策略之后,到达定义的时间以后,就会主动汇报数据给服务中心,比如系统的负载,网络的网卡流量等
  • 当客户端数量非常多时,建议使用主动模式,这样可以降低服务端的压力
  • 服务端有公网ip,客户端只有内网ip,但却能连外网,这种场景适合主动模式

4.添加监控主机设置

在菜单栏 点设置——主机群设置 ,设置群名 aming-test

358cc279685ad8f0549c7e16c5178715cc0.jpg

选择 设置——主机——创建主机,群组选择之前刚设置好的aming-test

d0ffbf61ff20ead83794edca37803c00da5.jpg

选择 设置——主机——创建模板,名字自定义

6833b1cb9415f829d29659199264e004241.jpg

点击 链接的模板 按图选择好模板

8a3b74c2b1486a26ecbd1b4e85ceaea2503.jpg

点 主机——aming-02——模板,选择链接模板 aming

26480e800ad9c18777f3859e2cf14678328.jpg

5.处理图形中的乱码

fa4140b07829cd280b7efac5c80fff1ddfb.jpg

1).下面就要进入到服务端进行配置,我们要找到字体的目录做个软连接并重启zabbix-server服务

5196886ad04bbbe29251ebbc8e20b124019.jpg

2).重启好zabbix-server服务之后在重新刷新一下浏览器进行观察有没有乱码的现象了

3a4da220b20d1b0189bfd2e0726f1cb8401.jpg

6.自动发现

ded84c764f267231c4b84c82ec7e87f5bb6.jpg

7.添加自定义监控项目

需求:监控某台web的80端口连接数,并出图

1).先到客户端上面编辑一个脚本脚本内容如下并给这个脚本一个755权限,不然zabbix执行不了脚本

0d9347a7046e80eaa89a512d6d2fff1a540.jpg

57ed6388340cb85a3a04cf13e5a41aec3ee.jpg

2).在客户端上进行配置文件并增加以下内容

UnsafeUserParameters=1         //表示使用自定义脚本
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh 
//自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh

90744342ce36b441a0fa7a9cd768d2876e2.jpg

进入web界面:

创建监控项:按下图配置

7c7a96cd07a7cc9c586b26db832ef3ab7c7.jpg

创建相应的图形:按下图配置

b42c2341549ff53fc4631aa43872a59114b.jpg

93d5b22dc098b3fc8b6d694bd52294bfaca.jpg

 

创建相应的触发器:按下图配置

c6846a6e13c3ce2dfcaada97f7fd1a4d9fb.jpg

现在查看图形,右下角绿色的线条

6ca8d2fe7881755d1fdd2c38f35d0ade830.jpg

8.配置邮件告警

这里实验选用的是163的邮箱设置开启POP3、IMAP、SMTP服务 开启并记录授权码 然后到监控中心设置邮件告警 “管理”,“报警媒介类型”,“创建媒体类型” {ALERT.SENDTO} ,{ALERT.SUBJECT},{ALERT.MESSAGE}​​​​​​​

1).编辑配置文件/etc/zabbix/zabbix_server.conf找到下面文件的路径之后在创建一个脚本咋下面/usr/lib/zabbix/alertscripts

AlertScriptsPath=/usr/lib/zabbix/alertscripts

2).编辑一个配置文件,这个配置文件是用来报警发送电子邮件的

c182756f1849825d77811294b860506dd82.jpg

#!/usr/bin/python
#coding:utf-8
import smtplib
from email.mime.text import MIMEText
import sys
mail_host = 'smtp.163.com'
mail_user = 'abcdefg@xx.com'
mail_pass = '1111111'
mail_postfix = '163.com'
def send_mail(to_list,subject,content):
    me = "zabbix 监控告警平台"+"<"+mail_user+"@"+mail_postfix+">"
    msg = MIMEText(content, 'plain', 'utf-8')
    msg['Subject'] = subject
    msg['From'] = me
    msg['to'] = to_list
    try:
        s = smtplib.SMTP()
        s.connect(mail_host)
        s.login(mail_user,mail_pass)
        s.sendmail(me,to_list,msg.as_string())
        s.close()
        return True
    except Exception,e:
        print str(e)
        return False
if __name__ == "__main__":
    send_mail(sys.argv[1], sys.argv[2], sys.argv[3])

3).更改权限并进行测试脚本是不是正常可以发送邮件

a1f5e4c6176ae195560e53ce394f47161a0.jpg8d1a46f6f10bd685c78742867aa8803b1cf.jpg

进入web页面,进行设置:

1).管理 —— 报警媒介类型 —— 创建媒体类型,然后按下图设置

7f4446cd0b0074d9325657237545bed2528.jpg

2).管理 —— 用户 —— aminglinux ,按下图选择群组

61eeef45ba7adad2808d1c64e15a3e98717.jpg

3.点击 报警媒介 ,点击 添加;此时默认为baojing,写入邮箱

4a9cdb8168d9f1c9534ba2d0a29af34a5fd.jpg

4.管理 —— 用户组 —— zabbix administrors

a47b7447794dbb09a1cbc649b924b7d7148.jpg

5.点击 报警媒介 ,此时如果想再增加邮箱,可以点击添加

e5656ffd36ac44d2bdf33daecbf2351905d.jpg

6.配置 动作,按下图 填写​​​​​​​

c396c57c272d36e2bdcc2803acb1c5cf4b9.jpg6d9701823a49cf1c8f56efbc1c5f8ea51e3.jpg

 

7.设置恢复操作。即问题解决后,也给指定邮箱发邮件

f88208471848431fe022907e8a4936fa81f.jpg

开始试验:

1).想产生动作,必须要有信号,因此新建一个触发器

51a059dd2e778d6fce01fbf35d12111f01e.jpg

2.通过有没有发送邮件来判断是不是真正的成功了

7361aa7bceaa4212d4e3574efef0c651912.jpg

ee47a2527feb9df8e9517b82e1f7bd84b8e.jpg

转载于:https://my.oschina.net/u/4000361/blog/2997967

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值