Lepus安装与配置

安装Python基础模块

 

准备环境

首先安装Python环境(Python版本要求为Python2.6以上,不支持Python3)

yum install python-setuptools httpd php gcc python-devel mysql-devel net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml -y

 

安装数据库连接Python的驱动包

 

1.安装 MySQLdb for python (必须安装)

MySQLdb为Python连接和操作MySQL的类库,如果您准备使用lepus系统监控MySQL数据库,那么该模块必须安装。

安装步骤如下:

# wget http://cdn.lepus.cc/cdncache/software/MySQLdb-python.zip

# unzip MySQLdb-python.zip # cd MySQLdb1-master/

# which mysql_config /usr/local/mysql/bin/mysql_config

# vim site.cfg 修改如下: mysql_config = /usr/local/mysql/bin/mysql_config

# python setup.py build

# python setup.py install

常见错误解决:

1).如果编译python出现如下问题

/usr/bin/ld: cannot find -lpython2.7 collect2: ld returned 1 exit status error: command 'gcc' failed with exit status 1

请按如下步骤处理:

A.检查并安装python-devel包

# yum -y install python-devel

B.将libpython2.7.so库文件建立软连接到/usr/lib下

32位服务器下执行

# ln -s /usr/local/Python2.7/lib/libpython2.7.so /usr/lib/libpython2.7.so

64位服务器下执行

# ln -s /usr/local/Python2.7/lib/libpython2.7.so /usr/lib64/libpython2.7.so

C.检查下/etc/ld.so.conf是否包含/usr/local/Python2.7/lib

#vi /etc/ld.so.conf 添加/usr/local/Python2.7/lib

#/sbin/ldconfig

 

ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib/

ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64/

2.安装cx_oracle for python (如果需要监控Oracle则必须安装)

下载安装oracle instant client

cx_oracle下载地址:https://pypi.org/project/cx-Oracle/5.1.3/#files

下面3个包下载地址:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

如果是64位的,请选择.*x86_64.rpm,否则是.*i386.rpm

如果是oracle 9i或更高,请选择Instant Client 11,如果是8或8i,请选择Instant Client 10

[[email protected] software]# rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm Preparing… ########################################### [100%] 1:oracle-instantclient11.########################################### [100%]

[[email protected] software]# rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm Preparing… ########################################### [100%] 1:oracle-instantclient11.########################################### [100%]

[[email protected] software]# rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm Preparing… ########################################### [100%] 1:oracle-instantclient11.########################################### [100%]

[[email protected] home]# vim /root/.bash_profile ORACLE_HOME="/usr/lib/oracle/11.2/client64" PATH=$PATH:$ORACLE_HOME/bin export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib export LD_LIBRARY_PATH

修改完成后重新加载bash_profile文件

[[email protected] cx_Oracle-5.1.2]# source ~/.bash_profile

[[email protected] software]# vim /etc/ld.so.conf 加入

/usr/lib/oracle/11.2/client64/lib

执行ldconfig生效

[[email protected] software]# ldconfig

安装cx_oracle

# wget http://cdn.lepus.cc/cdncache/software/cx_Oracle-5.1.2.tar.gz

# tar zxvf cx_Oracle-5.1.2.tar.gz # cd cx_Oracle-5.1.2

# python setup.py build

# python setup.py install

 

3.安装Pymongo for python (如果需要监控Mongodb则必须安装)

pymongo为Python连接和操作MongoDB的类库,如果您准备使用lepus系统监控MongoDBs数据库,那么该模块必须安装。

安装步骤如下:

# wget http://cdn.lepus.cc/cdncache/software/pymongo-2.7.tar.gz

# tar zxvf pymongo-2.7.tar.gz

# cd pymongo-2.7

# python setup.py install

 

4.安装Redis 驱动 (如果需要监控Redis则必须安装)

# wget http://cdn.lepus.cc/cdncache/software/redis-py-2.10.3.tar.gz

# tar zxvf redis-py-2.10.3.tar.gz

# cd redis-2.10.3/

# python setup.py install

 

5.安装SQLServer驱动 (如果需要监控SQLServer则必须安装)

安装pymssql需要的包:

freetds(http://www.filewatcher.com/m/freetds-0.82.tar.gz.1596755-0.html)

setuptools(https://pypi.python.org/pypi/setuptools)

pymssql(https://pypi.python.org/pypi/pymssql/)

安装步骤:

A. 安装freetds

#tar zxvf freetds-0.82.tar.gz #cd freetds-0.82 #./configure –prefix=/usr/local/freetds –with-tdsver=8.0 –enable-msdblib –enable-dbmfix –with-gnu-ld –enable-shared –enable-static #make && make install #echo "/usr/local/freetds/lib" » /etc/ld.so.conf.d/freetds.conf #ldconfig -v

B. 安装setuptools(setuptools包下载路径:https://pypi.org/project/setuptools/3.5.1/#files

#tar zxvf setuptools-3.5.1.tar.gz #cd setuptools-3.5.1 # python setup.py install

C. 安装pymssql

#tar zxvf pymssql-2.1.0.tar.gz #cd pymssql-2.1.0 #python setup.py install

注:如果不安装freetds,会报如下错误:

error: command ‘gcc’ failed with exit status 1

 

ln -s /usr/local/freetds/lib/libsybdb.so.5 /usr/lib/

ln -s /usr/local/freetds/lib/libsybdb.so.5 /usr/lib64/

 

6.测试各个驱动是否正常运行(非必须)

在lepus的安装文件包python目录中,你可以找到如下测试文件,测试上述驱动是否安装正确。

# python test_driver_mysql.py

MySQL python drivier is ok!

# python test_driver_oracle.py

Oracle python drivier is ok!

# python test_driver_mongodb.py

MongoDB python drivier is ok!

# python test_driver_redis.py

Redis python drivier is ok!

 

 

安装Lepus采集器

1)下载软件安装包

# cd /usr/local # git clone https://github.com/ruzuojun/lepus.git

 

2)对可执行文件授权,并创建软连接

# cd lepus # chmod +x lepus*

# ln -s /usr/local/lepus/lepus /usr/local/sbin/lepus

# ln -s /usr/local/lepus/lepus_monitor /usr/local/sbin/lepus_mointor

 

3).在监控机创建监控数据库,并授权。

mysql> create database lepus default character set utf8;

mysql> grant select,insert,update,delete,create on lepus.* to [email protected]'%' identified by '123';

mysql> flush privileges;

 

4)导入SQL文件夹里的初始化SQL文件(表结构和数据文件)

# mysql -uroot –p lepus < sql/lepus_table.sql

# mysql -uroot –p lepus < sql/lepus_data.sql

 

5) 修改配置文件

进入到安装目录/usr/local/lepus

# cd /usr/local/lepus/

# vim etc/config.ini

监控机MySQL数据库连接地址

[monitor_server] host="127.0.0.1" port=3306 user="lepus" passwd="123" dbname="lepus"

 

6) 启动Lepus (可选)

此时,你可以执行启动命令启动lepus采集进程

[[email protected] lepus]# lepus start lepus server start success!

[[email protected] lepus]# ps -ef|grep lepus

root 11553 1 0 14:40 pts/0 00:00:00 /bin/bash /usr/local/sbin/lepus start

root 11555 11553 0 14:40 pts/0 00:00:00 python lepus.py

root 11571 11555 0 14:40 pts/0 00:00:00 python lepus.py

root 11590 1851 0 14:40 pts/0 00:00:00 grep lepus

但是因为没有添加主机,所以查看日志会看到如下提示,属于正常提示。您也可以在部署完Lepus WEB控制台后再进行启动。

[[email protected] lepus]# tail -f logs/lepus.log

2015-08-03 13:09:09 [WARNING] check mongodb: not found any servers

2015-08-03 13:09:09 [INFO] check mongodb controller finished.

2015-08-03 13:09:12 [INFO] check redis controller started.

2015-08-03 13:09:12 [WARNING] check redis: not found any servers

2015-08-03 13:09:12 [INFO] check redis controller finished.

2015-08-03 13:09:15 [INFO] check os controller started.

2015-08-03 13:09:15 [WARNING] check os: not found any servers

2015-08-03 13:09:15 [INFO] check os controller finished.

2015-08-03 13:09:38 [INFO] alarm controller started.

2015-08-03 13:09:38 [INFO] alarm controller finished.

如果启动失败,可以通过记录的日志信息查看错误,通过log信息我们可以定位启动失败的问题:

# tail -f logs/lepus.log

        import functions as func

File "./include/functions.py", line 285, in <module>

       mail_host = get_option('smtp_host') File "./include/functions.py", line 242, in get_option           

        conn=MySQLdb.connect(host=host,user=user,passwd=passwd,port=int(port),connect_timeout=5,charset='utf8')

File "/usr/lib64/python2.6/site-packages/MySQL_python-1.2.4-py2.6-linux-x86_64.egg/MySQLdb/__init__.py", line 81, in Connect return Connection(*args, **kwargs) File "/usr/lib64/python2.6/site-packages/MySQL_python-1.2.4-py2.6-linux-x86_64.egg/MySQLdb/connections.py", line 193, in __init__ super(Connection, self).__init__(*args, **kwargs2) `_mysql_exceptions.OperationalError: (1045, "Access denied for user 'lepus'@'localhost' (using password: YES)")`

到这里,Lepus采集程序安装完毕!

 

 

安装WEB管理台

(1) 去到lepus的解压目录下把php文件夹下的所有文件拷贝/var/www/html下,然后编辑文件/var/www/html/application/config/database.php

[[email protected] lepus]# cp -rf /usr/local/src/lepus_v3.7/php或web/* /var/www/html/ [[email protected] lepus]# cd /var/www/html/application/config/

[[email protected] config]# vim database.php

 

 

 Lepus安装与配置

 

(2)重启httpd

[[email protected] config]# /etc/init.d/httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] [[email protected] config]#

 (3)、关闭防火墙(线上自己要添加规则即可,别逗比的把线上的关了)

 

[[email protected] config]# service iptables stop iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ]

[[email protected] config]# setenforce 0

(4)访问lepus,在Firefox输入http://192.168.10.128,默认管理员账号密码admin/Lepusadmin登录后请修改管理员密码,增加普通账号(猎豹浏览器缓存太强了,修改的东西,会存在有时不生效的可能),很多人反馈到登录页面就跳转不了,建议不要用IP直接访问,可以用域名:端口或者IP:端口,使用大一点的端口试试,如8080,8090。

Lepus安装与配置

添加操作系统监控实例

首先我们在被监控的数据库端执行授权,允许Lepus采集器服务器能连接到数据库,需要在被监控的数据库执行如下命令来授权。 这里我们解释下为什么需要super权限,是因为采集程序通过show slave status命令获取复制信息,该命令需要super权限才能执行。

mysql> grant select,process,super on *.* to 'lepus_monitor'@'ip' identified by 'password'; Query OK, 0 rows affected (0.00 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec)

授权后在WEB控制台点击配置中心->MySQL菜单来配置一个MySQL监控数据库,如下图所示,填写备监控数据库的IP、Port,远程授权用户密码,以及标签(标签只是用来备注该服务器的用途)等内容。 同时可以设置该数据库的监控和报警等配置信息,如下图所示:

 

Lepus安装与配置

配置完成后可以看到刚才配置的数据库实例已经出现在列表里面了。

 

Lepus安装与配置

我们可以通过观察日志来观察主机是否添加成功。在没有任何主机的时候,log里面会输出check mysql: not found any servers信息:

[[email protected] lepus]# tail -f logs/lepus.log

2017-04-27 16:45:55 [INFO] check mysql controller started.

2017-04-27 16:45:55 [WARNING] check mysql: not found any servers

2017-04-27 16:45:55 [INFO] check mysql controller finished.

当添加主机后,我们可以看到上面的提示消失了,这种状态说明Lepus采集进程已经发现了我们添加的主机:

2017-04-27 16:47:55 [INFO] check mysql controller started.

2017-04-27 16:48:05 [INFO] check mysql controller finished.

2017-04-27 16:48:44 [INFO] alarm controller started.

2017-04-27 16:48:44 [INFO] alarm controller finished.

最后我们可以在MySQL监控菜单里发现我们添加的主机被监控了。

 

 

Lepus安装与配置

 

 

添加Oracle监控实例

本章节将为大家介绍如何在Lepus系统里面添加Oracle监控实例。Lepus监控数据库是采用远程连接方式进去获取数据,所以无需要在数据库服务器端部署相关agent或计划任务。但是需要在数据库端进行授权访问,然后在WEB端配置实例就可以了。具体步骤如下所示:

首先我们在被监控的数据库端执行授权,允许Lepus采集器服务器能连接到数据库,需要在被监控的数据库执行如下命令来授权,Oracle需要的最小权限如下所示:

create user lepus_monitor identified by "password"; grant connect,resource to lepus_monitor; grant select on v_$parameter to lepus_monitor ; grant select on v_$sysstat to lepus_monitor ; grant select on v_$instance to lepus_monitor ; grant select on v_$database to lepus_monitor ; grant select on product_component_version to lepus_monitor ; grant select on v_$session to lepus_monitor ; grant select on v_$dataguard_stats to lepus_monitor ; grant select on dba_data_files to lepus_monitor ; grant select on dba_free_space to lepus_monitor ;

授权后在WEB控制台点击配置中心->Oracle菜单来配置一个Oracle监控数据库,如下图所示,填写被监控数据库的IP、Port,远程授权用户密码,数据源以及标签(标签只是用来备注该服务器的用途)等内容。 同时可以设置该数据库的监控和报警等配置信息,如下图所示:

Lepus安装与配置

 

配置完成后可以看到刚才配置的数据库实例已经出现在列表里面了。

这里的数据源,可以只写实例名即可,不用tnsname中的连接字符串

Lepus安装与配置

 

我们可以通过观察日志来观察主机是否添加成功。在没有任何主机的时候,log里面会输出check oracle: not found any servers信息:

[[email protected] lepus]# tail -f logs/lepus.log

2017-04-27 16:45:55 [INFO] check oracle controller started.

2017-04-27 16:45:55 [WARNING] check oracle: not found any servers

2017-04-27 16:45:55 [INFO] check oracle controller finished.

当添加主机后,我们可以看到上面的提示消失了,这种状态说明Lepus采集进程已经发现了我们添加的主机:

2017-04-27 16:47:55 [INFO] check oracle controller started.

2017-04-27 16:48:05 [INFO] check oracle controller finished.

2017-04-27 16:48:44 [INFO] alarm controller started.

2017-04-27 16:48:44 [INFO] alarm controller finished.

最后我们可以在Oracle监控菜单里发现我们添加的主机已经被监控了。

Lepus安装与配置

 

 

添加SQLServer监控实例

本章节将为大家介绍如何在Lepus系统里面添加SQLServer监控实例。Lepus监控数据库是采用远程连接方式进去获取数据,所以无需要在数据库服务器端部署相关agent或计划任务。但是需要在数据库端进行授权访问,然后在WEB端配置实例就可以了。具体步骤如下所示:

首先我们在被监控的数据库端创建授权帐号,允许Lepus采集器服务器能连接到SQLServer数据库。

授权后在WEB控制台点击配置中心->SQLServer菜单来配置一个SQLServer监控数据库,如下图所示,填写备监控数据库的IP、Port,远程授权用户密码,以及标签(标签只是用来备注该服务器的用途)等内容。 同时可以设置该数据库的监控和报警等配置信息,如下图所示:

Lepus安装与配置

 

我们可以通过观察日志来观察主机是否添加成功。在没有任何主机的时候,log里面会输出check sqlserver: not found any servers信息:

[[email protected] lepus]# tail -f logs/lepus.log

2017-04-27 16:45:55 [INFO] check sqlserver controller started.

2017-04-27 16:45:55 [WARNING] check sqlserver : not found any servers

2017-04-27 16:45:55 [INFO] check sqlserver controller finished.

当添加主机后,我们可以看到上面的提示消失了,这种状态说明Lepus采集进程已经发现了我们添加的主机:

2017-04-27 16:47:55 [INFO] check sqlserver controller started.

2017-04-27 16:48:05 [INFO] check sqlserver controller finished.

2017-04-27 16:48:44 [INFO] alarm controller started.

2017-04-27 16:48:44 [INFO] alarm controller finished.

最后我们可以在SQLServer监控菜单里发现我们添加的主机被监控了。

 

 

添加MongoDB监控实例

本章节将为大家介绍如何在Lepus系统里面添加Mongodb监控实例。Lepus监控数据库是采用远程连接方式进去获取数据,所以无需要在数据库服务器端部署相关agent或计划任务。但是需要在数据库端进行授权访问,然后在WEB端配置实例就可以了。具体步骤如下所示:

首先我们在被监控的数据库端创建授权帐号,允许Lepus采集器服务器能连接到Mongodb数据库。由于需要访问mongodb的serverStatus()函数,所以需要授予root角色,授权方式如下所示:

> use admin > db.createUser({user:'lepus',pwd:'password',roles:['root']})

授权后在WEB控制台点击配置中心->Mongodb菜单来配置一个Mongodb监控数据库,如下图所示,填写被监控数据库的IP、Port,远程授权用户密码,以及标签(标签只是用来备注该服务器的用途)等内容。 同时可以设置该数据库的监控和报警等配置信息,如下图所示:

 

Lepus安装与配置

我们可以通过观察日志来观察主机是否添加成功。在没有任何主机的时候,log里面会输出check mongodb: not found any servers信息:

[[email protected] lepus]# tail -f logs/lepus.log

2017-04-27 16:45:55 [INFO] check mongodb controller started.

2017-04-27 16:45:55 [WARNING] check mongodb : not found any servers

2017-04-27 16:45:55 [INFO] check mongodb controller finished.

当添加主机后,我们可以看到上面的提示消失了,这种状态说明Lepus采集进程已经发现了我们添加的主机:

2017-04-27 16:47:55 [INFO] check mongodb controller started.

2017-04-27 16:48:05 [INFO] check mongodb controller finished.

2017-04-27 16:48:44 [INFO] alarm controller started.

2017-04-27 16:48:44 [INFO] alarm controller finished.

最后我们可以在MongoDB监控菜单里发现我们添加的主机被监控了。

 

 

 

添加Redis监控实例

本章节将为大家介绍如何在Lepus系统里面添加Redis监控实例。Lepus监控数据库是采用远程连接方式进去获取数据,所以无需要在数据库服务器端部署相关agent或计划任务。具体步骤如下所示:

在WEB控制台点击配置中心->Redis菜单来配置一个Redis监控数据库,如下图所示,填写被监控数据库的IP、Port,远程授权密码,以及标签(标签只是用来备注该服务器的用途)等内容。 同时可以设置该数据库的监控和报警等配置信息,如下图所示:

 

Lepus安装与配置

我们可以通过观察日志来观察主机是否添加成功。在没有任何主机的时候,log里面会输出check redis: not found any servers信息:

[[email protected] lepus]# tail -f logs/lepus.log

2017-04-27 16:45:55 [INFO] check redis controller started.

2017-04-27 16:45:55 [WARNING] check redis: not found any servers

2017-04-27 16:45:55 [INFO] check redis controller finished.

当添加主机后,我们可以看到上面的提示消失了,这种状态说明Lepus采集进程已经发现了我们添加的主机:

2017-04-27 16:47:55 [INFO] check redis controller started.

2017-04-27 16:48:05 [INFO] check redis controller finished.

2017-04-27 16:48:44 [INFO] alarm controller started.

2017-04-27 16:48:44 [INFO] alarm controller finished.

最后我们可以在Redis监控菜单里发现我们添加的主机被监控了。

 

添加操作系统监控实例

该章节将向大家阐述如何在生产数据库服务器上部署OS资源的监控,包括CPU,磁盘等项目的监控和告警,Lepus是通过snmp协议进行对操作系统数据采集的!所以需要在监控器开启snmp服务。

下面将向大家说明操作系统SNMP服务协议的描述和启用方法。

1 什么是snmp 协议?

简单网络管理协议(SNMP,Simple Network Management Protocol)构成了互联网工程工作小组(IETF,Internet Engineering Task Force)定义的internet协议簇的一部分。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。它由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema),和一组资料物件。

2 在需要监控的linux系统下snmp服务配置

2.1 snmpd 服务安装

yum install net-snmp*

2.2 编辑snmpd.conf 配置文档

vim /etc/snmp/snmpd.conf

41行 将default改为监控服务器ip;2 将public改成lepus (备注: lepus是您在天兔配置文件里配置的通用实体,如果您配置的实体是其他名称,这里要做相应的修改)示例如下:

com2sec notConfigUser 10.0.10.10 lepus

62行 将systemview 改为all,供所有snmp访问权限

access notConfigGroup "" any noauth exact all none none

85行 将#注释符号去掉

view all included .1 80

2.3 启动 snmpd 服务

/etc/init.d/snmpd start

2.4 验证snmpd 服务

//snmpd 使用 tcp/udp 161 端口 grep 'Simple Net Mgmt Proto' /etc/services snmp 161/tcp # Simple Net Mgmt Proto snmp 161/udp # Simple Net Mgmt Proto lsof -i :161 COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME snmpd 3734 root 11u IPv4 13174 UDP *:snmp ps -ef | grep 'snmpd' root 3734 1 0 09:34 ? 00:00:00 /usr/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd.pid -a

2.5 修改snmpd 日志级别

//以上操作能够满足snmpd 服务正常使用,不过snmpd 默认日志级别将会在/var/log/message 写入大量snmp 信息,这样会影响我们察看系统日志,所以我们需要更改下!

Mar 1 09:55:01 monitor snmpd[3734]: Connection from UDP: [127.0.0.1]:37535

Mar 1 09:55:01 monitor snmpd[3734]: Received SNMP packet(s) from UDP: [127.0.0.1]:37535

Mar 1 09:55:01 monitor snmpd[3734]: Connection from UDP: [127.0.0.1]:47836

Mar 1 09:55:01 monitor snmpd[3734]: Received SNMP packet(s) from UDP: [127.0.0.1]:47836

//注释原有的OPTINOS,添加下面的一行,重启snmpd 服务即可。

vim /etc/init.d/snmpd #OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a" OPTIONS="-LS 4 d -p /var/run/snmpd.pid -a" /etc/init.d/snmpd restart Stopping snmpd: [ OK ] Starting snmpd: [ OK ]

2.6将SNMP服务设置开机启动

2.7 使用snmpwalk 命令验证,在监控机上执行以下命令

snmpwalk -v 1 -c lepus 192.168.1.10

snmpwalk -v 2c -c lepus 192.168.1.11

-v是指版本,-c 是指**,获取到系统信息则正常!

至此,您已经成功地开启了SNMP服务。

3.添加监控实例

SNMP安装完成后即可在天兔系统配置需要监控的主机。进入天兔系统WEB界面,进入服务器配置,操作系统配置栏目添加实例即可,如下图所示:

 

Lepus安装与配置