zabbix 服务的安装

zabbix:自动监控,自动注册,手动添加,api添加用户和删除

原理:

是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

zabbix由2部分构成,zabbix server与可选组件zabbix agent。

  1. zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用

    2. zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集

实验环境

zabbix-server=172.25.254.72  rhel7.2

Zabbix-agent=172.25.254.5    rhel6.5

server:

[root@localhost zabbix]# ls后面一列是所需,其他是依赖包
fping-2.4b2-16.el6.x86_64.rpm         
zabbix-agent-3.4.6-1.el7.x86_64.rpm
iksemel-1.4-2.el7.centos.x86_64.rpm   
zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm
php-bcmath-5.4.16-36.el7_1.x86_64.rpm   
zabbix-web-3.4.6-1.el7.noarch.rpm
php-mbstring-5.4.16-36.el7_1.x86_64.rpm 
zabbix-web-mysql-3.4.6-1.el7.noarch.rpm

[root@localhost zabbix]# yum install *

安装中的错误:报错requiers:zabbix-web-database实际上没有这种包,

要先安装zabbix-web-mysql

装数据库:

[root@localhost zabbix]# yum install mariadb-server -y

[root@localhost zabbix]# systemctl start mariadb

[root@localhost zabbix]# mysql_secure_installation (设置登陆时的密码)

创建一个库zabbix进行授权:

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'redhat';

Query OK, 0 rows affected (0.00 sec)

 

此时数据库是空的(和后面对比)

      MariaDB [(none)]> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| zabbix             |

+--------------------+

4 rows in set (0.00 sec)

   MariaDB [(none)]> use zabbix

Database changed

MariaDB [zabbix]> show tables;

Empty set (0.00 sec)

 倒入数据到数据库

[root@localhost doc]# cd zabbix-server-mysql-3.4.6/

[root@localhost zabbix-server-mysql-3.4.6]# pwd

/usr/share/doc/zabbix-server-mysql-3.4.6

[root@localhost zabbix-server-mysql-3.4.6]# zcat create.sql.gz |mysql -u zabbix -p zabbix

Enter password:   输入授权用户密码(倒入过程好慢的说)

终于好了查看一下:
 

[root@localhost zabbix-server-mysql-3.4.6]# cd /etc/zabbix/

[root@localhost zabbix]# ls

web  zabbix_agentd.conf  zabbix_agentd.d  zabbix_server.conf

[root@localhost zabbix]# vim zabbix_server.conf 

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

125  DBPassword=redhat

[root@localhost zabbix]# cd /etc/httpd/conf.d/

[root@localhost conf.d]# ls

autoindex.conf  php.conf  README  userdir.conf  welcome.conf  zabbix.conf

[root@localhost conf.d]# vim zabbix.conf 

19  php_value date.timezone Asia/Shanghai

[root@localhost conf.d]# systemctl start zabbix-server

[root@localhost conf.d]# systemctl start httpd

[root@localhost conf.d]# systemctl start zabbix-agent.service 

数据库倒入数据错误报错,其中的报错看日志:/var/log/zabbix

测试:

在浏览器处:172.25.254.72/zabbix 

(若前面服务都起来,此处页面显示不可达,那就检查防火请和selinux,使其关闭)

输入zabbix原始密码名Admin,密码为zabbix

登陆进去界面

点击人头修改语言密码,用户名的密码并且重新登陆:

在浏览器查看(查看zabbix-server的状态,若显示已停用,点击'已停用',开启它):

zabbix-agent(rhel6.5 172.25.254.5):

[root@server ~]# yum install zabbix-agent-3.4.6-1.el6.x86_64.rpm 

错误:zabbix版本要和yum源版本一致 不然就是如下结果 可以找包,本次采用适合yum源的zabbix-agent

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

[root@server zabbix]# ls

zabbix_agentd.conf  zabbix_agentd.d

[root@server zabbix]# vim zabbix_agentd.conf 

 97 Server=172.25.254.72

 98 ServerActive=172.25.254.72

 99 hostname=server5

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

Starting Zabbix agent:                                     [  OK  ]

错误:配置文件严格按照大小写

查看开启的服务:

zabbix-web 添加监控

方式一:自动添加

点击:动作-->自动发现

如果不添加“新的”一栏报错如下

点击:配置-->主机

方式二:手动添加

先关闭自动发现,再关闭动作,删除已经发现的主机

点击创建主机:

添加模块:

添加完毕:

f5刷新一下:

方式三:自动注册(由agent去主动发现,就算启用成功也不一定检测到,因为配置文件的原因)

删除原来的server5,重新创建

使用原因:

zabbix_server端当主机数量过多的时候,由Server端去收集数据,Zabbix会出现严重的性能问题,主要表现如下:

1、当被监控端到达一个量级的时候,Web操作很卡,容易出现502

2、图层断裂

3、开启的进程(Pollar)太多,即使减少item数量,以后加入一定量的机器也会有问题

所以下面主要往两个优化方向考虑:

1、添加Proxy节点或者Node模式做分布式监控

2、调整Agentd为主动模式

由于第一个方案需要增加物理机器,所以首先尝试第二方案。

具体操作:

点击:动作,自动注册,创建动作

在server5上开启zabbix-agent服务,并且更改配置文件

添加完成:(时间不长,注意配置文件)

 [root@server4 zabbix]# vim zabbix_agentd.conf

 97 Server=172.25.254.72
 98 ServerActive=172.25.254.72  server的ip 指定数据要往哪里送
 99 Hostname=server4  必须和server端添加主机时的主机名一样,这样server端接收的数据可以找到对应关心。

等一会可看到添加进去:

四:用api删除agen

用户登陆;获取agent信息;删除agent

[root@localhost ~]# vim zabbix-api.sh

curl -s -X POST -H 'Content-Type:application/json' -d '
{ "jsonrpc": "2.0",
 "method": "user.login", 
"params": { 
	"user": "Admin", 
	"password": "westos" //在页面改过
	 }, 
	"id": 1,
	 "auth": null
 }' http://172.25.254.72/zabbix/api_jsonrpc.php | python -m json.tool//zabix-server的ip

[root@localhost ~]# chmod +x ./zabbix-api.sh 

[root@localhost ~]# ./zabbix-api.sh 

{

    "id": 1,

    "jsonrpc": "2.0",

    "result": "9c9e60d2752e9b70e96a3a3c6adaba94"

}

获取zabbix-agent的信息

[root@localhost ~]# vim zabbix-api.sh

curl -s -X POST -H 'Content-Type:application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["host"]
    },
    "auth": "9c9e60d2752e9b70e96a3a3c6adaba94",由上面的result所得
    "id": 1
}' http://172.25.254.72/zabbix/api_jsonrpc.php | python -m json.tool //zabbix-server上的

[root@localhost ~]# cat zabbix-api.sh 

curl -s -X POST -H 'Content-Type:application/json' -d ' 

{ "jsonrpc": "2.0",

 "method": "host.get", 

"params": { 

"output":["host"] }, 

"id": 1,

"auth": "e59d54b4075df5966076ecdc0504eb4c"//此处为上一步获得的结果

 }' http://172.25.254.72/zabbix/api_jsonrpc.php | python -m json.tool

此处并无在线的agent 若有已被删除显示为

 

遗留问题:主机显示no space left 但df 和du -sh都有空间

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值