Lepus监控之安装部署
PHP和Python都是跨平台的语言,所以理论上系统应该可以支持在不同的平台上运行。但是由于时间和精力以及资源有限,目前天兔系统只测试完善了Centos/RedHat系统的支持。我们目前提供的技术支持也是只针对于Centos/RedHat系统,其他系统暂不支持技术服务。
安装需求
1.MySQL5.1
及以上(必须,用来存储监控系统采集的数据)
2.Apache 2.2
及以上 (必须,WEB服务器运行服务器)
3.PHP 5.3
以上 (必须,提供WEB界面支持,不支持PHP7
)
4.Python2
(必须,推荐2.6及以上
版本,执行数据采集和报警任务,不支持Python3
)
5.Python
连接和监控数据库的相关驱动模块包
:
MySQLdb
for python (Python连接MySQl的接口,用于监控MySQL,此模块必须安装)cx_oracle
for python (Python连接Oracle的接口,非必须,如果需要监控oracle此模块必须安装)Pymongo
for python (Python连接MongoDB的接口,非必须,如果需要监控MongoDB此模块必须安装)redis-py
for python (Python连接Redis的接口,非必须,如果需要监控Redis此模块必须安装)
安装LAMP基础环境
配置LAMP基础环境的方式有很多种,最简单的方式有yum安装、RPM包安装等方式、安装集成环境包(例如lampp/xampp等)。您也可以手动编译安装相关软件。这里我们不推荐使用YUM进行安装,YUM安装的PHP环境可以因为缺少某些依赖包导致500错误
。如果你有能力,可以进行编译安装,按照需要的模块编译PHP和MYSQL数据库,这种方式也是目前大型WEB推荐的方式。如果你无法进行编译安装,我们推荐你使用Xampp
集成环境包进行安装,xampp是一个可靠的稳定的lamp套件,目前已被诸多公司用于生产服务器的部署,目前Lepus的开发环境,测试环境以及线上官网的WEB环境,都是运行在xampp环境下面,并且一直都是稳定的。
Xampp下载地址:https://www.apachefriends.org/download.html
Xampp帮助文档:https://www.apachefriends.org/faq_linux.html
官方推荐版本:xampp-linux-x64-1.8.2-5-installer.run
,该版本在下列安装部署中会提供下载地址连接,或者进入Lepus常用软件下载专贴进行下载:http://www.dba-china.com/topic/226。
安装Xampp步骤示例
安装过程非常简单,通过我们提供的CDN地址下载软件后,直接运行即可
[root@ebs-cloud software]# wget http://cdn.lepus.cc/cdncache/software/xampp-linux-x64-1.8.2-5-installer.run
[root@ebs-cloud software]# chmod +x xampp-linux-x64-1.8.2-5-installer.run
[root@ebs-cloud software]# ./xampp-linux-x64-1.8.2-5-installer.run
—————————————————————————-
Welcome to the XAMPP Setup Wizard.
—————————————————————————-
Select the components you want to install; clear the components you do not want
to install. Click Next when you are ready to continue.
XAMPP Core Files : Y (Cannot be edited)
XAMPP Developer Files [Y/n] :y
Is the selection above correct? [Y/n]: y
—————————————————————————-
Installation Directory
XAMPP will be installed to /opt/lampp
Press [Enter] to continue :
—————————————————————————-
Setup is now ready to begin installing XAMPP on your computer.
Do you want to continue? [Y/n]: y
—————————————————————————-
Please wait while Setup installs XAMPP on your computer.
Installing
0% ______________ 50% ______________ 100%
#########################################
—————————————————————————-
Setup has finished installing XAMPP on your computer.
其他问题:
1.如果远程访问xampp报下面错误
Access forbidden! New XAMPP security concept:
Access to the requested object is only available from the local network.
This setting can be configured in the file “httpd-xampp.conf”.
打开文件extra/httpd-xampp.conf
注释掉下面一行
#Require local
2.配置启用虚拟目录
打开下面的注释
# Virtual hosts Include etc/extra/httpd-vhosts.conf
3.默认WEB代码上传目录:
/opt/lampp/htdocs/
关于xampp的详细使用,包括启动关闭、以及安全特性,都可以在官网帮助里面找到的,这里不重复写了,大家可以去查看:https://www.apachefriends.org/faq_linux.html
安装Python基础模块
首先安装Python环境(Python版本要求为Python2.6以上,不支持Python3)
安装数据库连接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
2.安装cx_oracle for python (如果需要监控Oracle则必须安装)
下载安装oracle instant client
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
如果是64位的,请选择.*x86_64.rpm
,否则是.*i386.rpm
如果是oracle 9i或更高,请选择Instant Client 11
,如果是8或8i,请选择Instant Client 10
[root@westserver software]# rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
Preparing… ########################################### [100%]
1:oracle-instantclient11.########################################### [100%]
[root@westserver software]# rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
Preparing… ########################################### [100%]
1:oracle-instantclient11.########################################### [100%]
[root@westserver software]# rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
Preparing… ########################################### [100%]
1:oracle-instantclient11.########################################### [100%]
[root@westserver 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文件
[root@westserver cx_Oracle-5.1.2]# source ~/.bash_profile
[root@westserver software]# vim /etc/ld.so.conf 加入
/usr/lib/oracle/11.2/client64/lib
执行ldconfig生效
[root@westserver 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
#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
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采集器
注:在安装Lepus系统之前,请先根据前面内容安装LAMP和Python运行基础环境。
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 'lepus_user'@'localhost' identified by 'xxxxxx';
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_user "
passwd="xxxxxx"
dbname="lepus"
6) 启动Lepus (可选)
此时,你可以执行启动命令启动lepus采集进程
[root@ebs-cloud lepus]# lepus start
lepus server start success!
[root@ebs-cloud 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控制台后再进行启动。
[root@ebs-cloud 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管理台
复制lepus/web文件夹里的文件到Apache对应的网站虚拟目录(备注:根据不同的安装方式,这个目录是不一样的,如果采用xampp
安装的Apache环境,则默认程序目录为/opt/lampp/htdocs/
), 当然,为了更好的维护项目,通常我们会为每个项目配置一个独立的虚拟主机目录。具体步骤如下:
修改/opt/lampp/etc/httpd.conf
文件,将下面的denied修改为granted
<Directory />
AllowOverride none
Require all granted
</Directory>
取消这一行的注释
Include etc/extra/httpd-vhosts.conf
修改/opt/lampp/etc/extra/httpd-vhosts.conf
文件,配置虚拟目录,示例如下:
<VirtualHost *:80>
ServerAdmin demo.lepus.cc
DocumentRoot "/usr/local/lepus/web"
ServerName demo.lepus.cc
ServerAlias demo.lepus.cc
ErrorLog "logs/demo.lepus.cc-error_log"
CustomLog "logs/demo.lepus.cc-access_log" common
</VirtualHost>
修改完成后重启
apache服务
打开application\config\database.php
文件,修改PHP连接监控服务器的数据库信息
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'lepus_user';
$db['default']['password'] = 'xxxxxx';
$db['default']['database'] = lepus;
$db['default']['dbdriver'] = 'mysql';
登录进行添加主机和监控
通过浏览器输入IP地址或域名打开监控界面,即可登录系统。.默认管理员账号密码admin/Lepusadmin
登录后请修改管理员密码,增加普通账号。
登录界面如下所示:
启动和关闭Lepus
启动和关闭监控系统
执行以下命令启动系统采集进程
# lepus start
执行以下命令关闭系统采集进程
# lepus stop
执行以下命令监控系统是否正常运行
# lepus status
lepus server is running…
查看启动关闭帮助命令
# lepus –help
lepus help:
support-site: www.lepus.cc
====================================================================
start Start lepus monitor server; Command: #lepus start
stop Stop lepus monitor server; Command: #lepus stop
status Check lepus monitor run status; Command: #lepus status
查看运行日志
当Lepus启动时,Lepus提供了标准的日志输出功能,可以通过日志查询监控系统是否正在工作。
# cd /usr/local/lepus/
# tail -f logs/lepus.log
2015-01-07 18:24:42 [WARNING] check os: not found any servers
2015-01-07 18:24:42 [INFO] check os controller finished.
2015-01-07 18:25:15 [INFO] alarm controller started.
2015-01-07 18:25:15 [INFO] alarm controller finished.
2015-01-07 18:25:37 [INFO] check mysql controller started.
2015-01-07 18:25:37 [WARNING] check mysql: `not found any servers`
2015-01-07 18:25:37 [INFO] check mysql controller finished.
2015-01-07 18:25:42 [INFO] check os controller started.
2015-01-07 18:25:42 [WARNING] check os: `not found any servers`
2015-01-07 18:25:42 [INFO] check os controller finished.
文章名称 | 文章地址 | 作者 |
---|---|---|
天兔(Lepus)监控系统快速安装部署 | http://suifu.blog.51cto.com/9167728/1770493 | 岁扶 |
天兔(Lepus)监控系统慢查询分析平台配置 | http://suifu.blog.51cto.com/9167728/1770672 | 岁扶 |
天兔(Lepus)监控操作系统(OS)配置 | http://suifu.blog.51cto.com/9167728/1770703 | 岁扶 |
天兔(Lepus)监控邮件推送安装配置 | http://suifu.blog.51cto.com/9167728/1795014 | 岁扶 |
天兔(lepus)容器版本安装部署 | https://bjddd192.github.io/mysql/2017/03/25/lepus.html | 乖乖龙 |
Lepus监控之安装部署的更多相关文章
- ELK日志监控平台安装部署简介--Elasticsearch安装部署
最近由于工作需要,需要搭建一个ELK日志监控平台,本次采用Filebeat(采集数据)+Elasticsearch(建立索引)+Kibana(展示)架构,实现日志搜索展示功能. 一.安装环境描述: 1 ...
- 04.Linux系统-Zabbix监控服务安装部署
一.环境准备 操作系统:CentOS_Server_7.5_x64_1804.iso 部署组件:Zabbix 二.操作步骤: Zabbix_Server安装部署 2.0.安装依赖组件 [root@lo ...
- kubernetes(k8s) Prometheus+grafana监控告警安装部署
主机数据收集 主机数据的采集是集群监控的基础:外部模块收集各个主机采集到的数据分析就能对整个集群完成监控和告警等功能.一般主机数据采集和对外提供数据使用cAdvisor 和node-exporter等 ...
- Redis服务监控之RedisLive安装部署(亲测可用)
一.Redis服务安装部署 1.redis安装(linux系统) 下载 https://redis.io/ 安装依赖 yum install gcc tcl 解压.编译.安装(make & m ...
- Ganglia监控Hadoop集群的安装部署[转]
Ganglia监控Hadoop集群的安装部署 一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机 器:192.168.52 ...
- Ubuntu Server 安装部署 Cacti 服务器监控
本文的英文版本链接是 http://xuri.me/2013/10/20/install-the-cacti-server-monitor-on-ubuntu-server.html Cacti是一套 ...
- CentOS 6.5安装部署Zabbix监控系统
CentOS 6.5安装部署Zabbix监控系统 先说一点废话,我没有用centos7做实验,讲真,centos 7我也不常用,喜欢新版本的同学其实可以尝试下,注意一点的就是centos 6.5只支持 ...
- zabbix的安装部署及自定义监控的实现
此篇感谢我的小师傅. 1. Zabbix主要功能和优劣势说明 1. Zabbix主要功能和优劣势说明 1.1 Zabbix主要功能: 1)Application monitoring 应用监控 数据库 ...
- Linux监控二之cacti简单安装部署
目录 cacti简单部署 1 环境依赖包部署 1 1. cacti中文版0.8e搭建 2 2. cacti安装向导 url:http://192.168.200.243/ ...
随机推荐
- boost高质量随机数库 zhuan
shared_ptr<int> tmp2(new int(10)) ; int * test=tmp2.get(); std::cout<<*test<<" ...
- Spring mvc初学
转自:http://www.cnblogs.com/bigdataZJ/p/springmvc1.html 从今天起,准备好好审视并学习Spring mvc. 虽然从学java的第一个程序——hell ...
- 50个常用的Linux命令(三)awk
[root@localhost cee]# echo -e "line1\nline2"|awk '{ print }'line1line2[root@localhost cee] ...
- Java 作业6
我总算,又双叒叕拾起了Java,啊! 1.编写一个JApplet程序,包含一个JLabel对象,并显示用户的姓名. package experiment; import java.awt.Border ...
- java 集合之Map
Map的功能方法 方法put(Object key,Object value)添加一个"值"(想要得东西)和与"值"相关的"键"(key)( ...
- Problem E: 类的初体验(V)
Description 定义一个类Data,只有一个int类型的属性和如下方法: 1. 缺省构造函数,将属性初始化为0,并输出"Data's default constructor.&q ...
- 容器的注入和container设计的思想——Injection Container 理解
为什么会出现容器的注入? 容器:顾名思义,装东西的器物. 至于spring中bean,aop,ioc等一些都只是实现的方式:具体容器哪些值得我们借鉴,我个人觉得是封装的思想.将你一个独立的系统功能放到 ...
- Bitmap每个像素值由指定的掩码决定
bBitmap每个像素值由指定的掩码决定 写了一个小工具来转换Bitmap彩色图片的不同位数. 程序的逻辑是拼接: Bitmap文件头 + Bitmap信息头 + Bitmap数据 在RGB888转换 ...
- python 环境下 安装 gdal
起因:需要做一个城市扩张的东西,然后再GitHub上下载了一段代码,不过作者没怎么说清楚要怎么用,早上琢磨半天,归结到我需要先下载python的gdal模块. 关于:搜索下来,发现gdal(Geosp ...
- webView 获取内容高度不准确的原因是因为你设置了某个属性
不管是UIWebView 还是 WKWebView 这里 获取js属性 获取高度的方法 我就不一一细说了 ,本文最主要不说这个 ,网上有太多的方法 我最不摘几个 CGFloat webViewHeig ...