zabbix监控ceph

文档结构

1 zabbix介绍
2 安装部署

(1) zabbix server安装
(2) zabbix agent安装
(3) 监控Ceph Jewel

3 参考资料


zabbix介绍

首先需要简单介绍下Zabbix,避免因认识上的错误造成安装部署过程中走很多弯路。

Zabbix是一个分布式监控系统,支持多种采集方式和采集客户端,有专用的Agent,也可以支持SNMP, IPMI, JMX, Telnet, SSH等多种协议,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件时触发告警。

通过以上这段比较官方的描述,首先要确定一件事情:Zabbix不是针对Ceph而开发的监控工具,而是一个可以用来监控Ceph的工具。

安装部署

环境描述

本次部署,共涉及两个节点。


  • 节点1:10.128.3.76,CentOS7操作系统,为单节点Ceph(Jewel)环境,同时用来部署Zabbix Agent;
  • 节点2:10.133.45.31,CentOS7操作系统, 为Zabbix Server部署节点。

zabbix server安装

依赖环境安装

安装Apache

执行以下命令:

yum install -y httpd
vi /etc/httpd/conf/httpd.conf

1.修改配置项


    DirectoryIndex index.php index.html
 

2.添加配置项

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

启动服务:service httpd start && chkconfig httpd on

安装PHP

执行以下安装命令:

yum -y install php php-gd php-xml php-bcmath  php-mbstring php-mysql

访问测试:

vi /var/www/html/index.php


访问http://localhost,会显示php相关信息,则表示php+apache整合成功

安装Mysql

执行以下命令:

yum install mysql mysql-server mysql-devel 
或
yum -y install mariadb-server mariadb-client

service mysqld start
或
systemctl start mariadb.service

mysqladmin -u root password 'onest123'

其他依赖软件包

yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI gcc

zabbix server安装

下载zabbix

直接去官网下载即可,可以选择自己要安装的zabbix包。

www.zabbix.com

本文档中下载的是:zabbix-3.0.4.tar.gz

安装zabbix

useradd zabbix -s /sbin/nologin

tar zxvf zabbix-3.0.4.tar.gz

cd zabbix-3.0.4

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl

make install

创建数据库

mysql -uroot -ponest123

create database zabbix  character set utf8;

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

flush privileges;

quit

导入数据

vi database/mysql/schema.sql
:%s/ENGINE=InnoDB/ENGINE=InnoDB CHARACTER SET utf8/g  (解决中文乱码问题)

mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/schema.sql (可能等待时间较长)

mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/images.sql

mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/data.sql

确认服务存在

vi /etc/services
zabbix-agent    10050/tcp               # Zabbix Agent
zabbix-agent    10050/udp               # Zabbix Agent
zabbix-trapper  10051/tcp               # Zabbix Trapper
zabbix-trapper  10051/udp               # Zabbix Trapper

配置文件

配置Zabbix

vi /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix 
DBUser=zabbix 
DBPassword=zabbix

配置PHP

vi /etc/php.ini
max_input_time = 600 
max_execution_time = 300 
date.timezone = Asia/Shanghai 
post_max_size = 32M 
memory_limit = 128M 

service httpd restart

自动启动

修改参数

cp misc/init.d/fedora/core/* /etc/init.d/
sed -i 's/BASEDIR=\\/usr\\/local/BASEDIR=\\/usr\\/local\\/zabbix/g' /etc/init.d/zabbix_server
sed -i 's/BASEDIR=\\/usr\\/local/BASEDIR=\\/usr\\/local\\/zabbix/g' /etc/init.d/zabbix_agentd

启动进程

echo "/etc/init.d/zabbix_server start" >> /etc/rc.local
echo "/etc/init.d/zabbix_agentd start" >> /etc/rc.local
/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start(可以不执行,如果zabbix server也需要被监控,则执行)

开放端口

iptables -I INPUT -p tcp --dport 10050:10051 -j ACCEPT
iptables -I INPUT -p udp --dport 10050:10051 -j ACCEPT
service iptables save

本文档是在测试环境,所以将防火墙关闭了,无需执行开放端口选项

zabbix server web页面初始化

复制zabbix页面文件

cd ~/zabbix-3.0.4/

cp -R frontends/php/ /var/www/html/zabbix

访问Web页面进行初始化

http://ip/zabbix

按照页面提示执行即可,需要所有选项为OK状态


初始化过程中遇到的问题:

PHP option "mbstring.func_overload"

注释掉/etc/php.ini中 mbstring.func_overload = 2问题解决

zabbix agent安装

依赖软件安装

yum install -y gcc curl

下载软件包

使用zabbix server的安装包即可

安装

useradd zabbix -s /sbin/nologin

tar zxvf zabbix-3.0.4.tar.gz

cd zabbix-3.0.4

./configure --prefix=/usr/local/zabbix_agent   --enable-agent

make install

配置

vi /usr/local/zabbix_agent/etc/zabbix_agentd.conf
Server=10.188.1.103           #zabbix服务器IP
Hostname=10.188.1.88          #客户端本机IP
UnsafeUserParameters=1        #允许用户自定义参数
EnableRemoteCommands=1 
UserParameter=tcpportlisten,/usr/local/zabbix_agent/sbin/discovertcpport.sh "$1"

开放端口

同zabbix server部分,也可以关闭防火墙

启动

cp /usr/local/zabbix_agent/sbin/zabbix_agentd /etc/init.d/
chmod a+x /etc/init.d/zabbix_agentd
service zabbix_agentd start
echo "/etc/init.d/zabbix_agentd start" >> /etc/rc.local

也有可能遇到zabbix agent无法启动的情况:

启动成功,进程不存在,则执行:

/usr/local/zabbix_agent/sbin/zabbix_agentd -c /usr/local/zabbix_agent/etc/zabbix_agentd.conf

测试

安装好后,在zabbix server上进行连接测试:

/usr/local/zabbix/bin/zabbix_get -s  -p 10050 -k "system.uptime"
1060020

监控Ceph Jewel

获取ceph-zabbix

github地址:

https://github.com/thelan/ceph-zabbix

zabbix agent相关配置

1.复制ceph-zabbix目录下的ceph-status.sh到/opt/目录下;

2.将ceph-zabbix目录下,zabbix_agent_ceph_plugin.conf中的内容添加到zabbix agent的配置文件/usr/local/zabbix_agent/etc/zabbix_agentd.conf中

3.重启zabbix agent

service zabbix_agentd restart

zabbix server相关配置

  1. 访问zabbix server web页面:http://ip/zabbix/
  2. 用admin登录,默认密码zabbix
  3. 添加Templates:选择Configuration选项--> Templates-->import-->import file选择ceph-zabbix/zabbix_templates目录下的xml文件-->依次导入
  4. 添加Hosts:选择Configuration选项--> Hosts -- > Create Host-->在Host选项卡填写相关IP信息-->在Templates选项卡Link new templates,添加刚刚增加的templates.

遇到问题

zabbix agent无法获取ceph相关信息,需要放开zabbix用户对/etc/ceph/*keyring的访问权限

参考资料

  1. Zabbix安装: http://ywzhou.blog.51cto.com/2785388/1578555
  2. ceph-zabbix: https://github.com/thelan/ceph-zabbix

你可能感兴趣的:(zabbix监控ceph)