Sensu+InfluxDB+Grafana环境搭建_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > Sensu+InfluxDB+Grafana环境搭建

Sensu+InfluxDB+Grafana环境搭建

 2015/4/20 17:13:05  jamie.wang  程序员俱乐部  我要评论(0)
  • 摘要:Sensu安装SensuServer端包含以下几个必须的模块RabbitMQRedisSensuServerSensuAPI他们可以安装在不同的服务器组成集群,也可以装成单机版。另外还有一个可选模块,管理UIUchiwa监控数据显示UIgrafanaSensu的安装过程官方文档已经比较齐全,按此安装过程也比较顺利,这里只是记录安装过程中出现的问题和解决办法。1.安装过程需要root权限,可以用sudo但某些命令sudo可能要报错,如:sudoecho"debhttp://www
  • 标签:环境搭建

Sensu安装

Sensu Server端包含以下几个必须的模块
RabbitMQ
Redis
Sensu Server
Sensu API
他们可以安装在不同的服务器组成集群,也可以装成单机版。
另外还有一个可选模块,管理UI
Uchiwa
监控数据显示UI
grafana
Sensu的安装过程官方文档已经比较齐全,按此安装过程也比较顺利,这里只是记录安装过程中出现的问题和解决办法。
1. 安装过程需要root权限,可以用sudo
但某些命令sudo可能要报错,如:
?

class="bash">sudo echo "deb http://www.rabbitmq.com/debian/ testing main" > /etc/apt/sources.list.d/rabbitmq.list

?
这种需要换成:
?

echo "deb http://www.rabbitmq.com/debian/ testing main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list

?
2. sensu的组件比较多,一个统一的启动脚本
/etc/init.d/sensu
会比较方便

/etc/init.d/redis-server $1
/etc/init.d/rabbitmq-server $1
/etc/init.d/sensu-server $1
/etc/init.d/sensu-client $1
/etc/init.d/sensu-api $1
/etc/init.d/uchiwa $1

InfluxDB安装

influxDB是一个go语言写的时序数据库,非常适合存储监控计量数据。

InfluxDB安装非常简单,按照官方文档即可顺利安装
接下来访问
http://127.0.0.1:8083
看是否正常

然后在sensu里加入influxdb的handler

https://github.com/sensu/sensu-community-plugins/blob/master/handlers/metrics/influxdb-metrics.rb

并配置好influxdb

https://github.com/sensu/sensu-community-plugins/blob/master/handlers/metrics/influxdb-metrics.json

grafana安装

Grafana是一组纯前端的,专门为监控计量数据展示设计的页面,可以直接从influxdb获取数据展示。

由于Grafana全部是静态的页面,只需要放到一个目录,然后将该目录作为Web服务器的虚拟目录即可。
例如:apache服务器
在/etc/apache2/sites-available/目录添加一个配置文件
grafana-demo.conf
内容:

Listen 8012
<VirtualHost *:8012>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com
 
        ServerAdmin webmaster@localhost
        DocumentRoot /home/sensu/grafana
 
        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
 
        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>
 
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

?
并在/etc/apache2/sites-enabled做一个软链接
# ln -s /etc/apache2/sites-available/grafana-demo.conf /etc/apache2/sites-enabled/grafana-demo.conf
注意修改apache.conf

<Directory />
        Options Indexes FollowSymLinks
        #Options FollowSymLinks
        AllowOverride None
        #Require all denied
        Require all granted
</Directory>

?
这样外部才可以访问到

然后修改grafana配置文件:config.js

JSON">      datasources: {
        influxdb: {
          type: 'influxdb',
          url: "http://127.0.0.1:8086/db/demo",
          username: 'root',
          password: 'root',
        },
        grafana: {
          type: 'influxdb',
          url: "http://127.0.0.1:8086/db/grafana",
          username: 'root',
          password: 'root',
          grafanaDB: true
        },
      },

?
访问
http://127.0.0.1:8012
看是否正常

测试

最后可以加一个metric的plugin,如:http://sensuapp.org/docs/0.16/adding_a_metric

并设置handler为influxdb。

到influxdb的管理界面:http://127.0.0.1:8083,Explor db的data,执行list series,就可以看到你的series,最后到grafana的页面配置该series即可看到监控曲线

发表评论
用户名: 匿名