配置glances并输出到Elasticsearch
来源:互联网 发布:搜狗输入法for ubuntu 编辑:程序博客网 时间:2024/06/05 19:56
1. 配置glances
这两天有需求需要对linux系统的各项运行参数进行监控,找到了基于python开发的一个工具————glances,介绍在这里,github上的源码及相关的文档资料在这里。软件本身的功能还是比较全面的,也能提供C/S或是web服务的方式,比较灵活。
根据github上的readme文件描述,可以通过源码来安装glances,如下:
$ wget https://github.com/nicolargo/glances/archive/ vX.Y.tar.gz -O - | tar xz $ cd glances-* # python setup.py install
这里实验采用的glances版本为2.10
,python版本为Python 2.7.5
为了定义自己的配置,需要制定glances运行的配置文件,如果不指定配置文件的话,glances**貌似
**是采用一套内置的配置的,而不是其安装目录中的conf/glances.conf
文件。 glances.conf
文件中包含了glances的各种配置,里面有几项是相关的内容,可以对应修改如下:
############################################################################### Globals Glances parameters##############################################################################[global]# Does Glances should check if a newer version is available on PyPI ?check_update=false# History size (maximum number of values)# Default is 28800: 1 day with 1 point every 3 seconds (default refresh time)history_size=28800
上边check_update=false
默认是true
,可以不检查更新。
[ports]# Ports scanner plugin configuration# Interval in second between two scansrefresh=30# Set the default timeout (in second) for a scan (can be overwritten in the scan list)timeout=3
上边refresh=30
将默认的3秒
刷新改为了30秒,需求不紧急的话可以有效的节约CPU资源,只在scan的时候,会消耗。
[elasticsearch]# Configuration for the --export-elasticsearch option# Data are available via the ES Restful API. ex: URL/<index>/cpu/system# https://www.elastic.cohost=192.168.0.102port=9200index=glances
上边配置elasticsearch的服务地址和端口,还有index的名称。对应修改即可。
所有配置都OK了以后,通过命令运行glances,并加入导出到elasticsearch的参数就行。glances导出到elasticsearch只支持standalone和client模式
。导出的运行参数如下:
[root@localhost conf]# glances --export-elasticsearch
注意1:如果运行报错了,说缺少elasticsearch的库(一般来说都会报这个错,如果没装过的话),那么需要安装python的elasticsearch库。
注意2:如果提示No elasticsearch configuration found
那是因为没有指定elasticsearch的配置,参考运行和结果
2. 安装python的elasticsearch库
如果环境上安装了pip
,那么就很简单了,直接运行
pip install elasticsearch
如果没有安装pip
,希望通过源码安装,也很简单,在这里可以找到pipy上对应的各个版本的elasticsearch库,下一个源码包,按照文档上的说明进行安装,具体命令简单如下:
[root@localhost home]# tar zxf elasticsearch-X.X.X.tar.gz [root@localhost home]# cd elasticsearch-X.X.X/[root@localhost elasticsearch-X.X.X]# python setup.py install
细心的同学通过文档或是上边的安装过程可以发现,elasticsearch需要依赖一个叫做urllib3
的python库,上边安装过程会自动下载,如果在离线环境的话,最后会报错,提示缺少urllib3
,还是在pypi
上搜索到urllib3-X.X.X.tar.gz
版本,按照类似上边的方法先装好这个库,然后上边的安装就可以顺利的完成了。
3. 运行和结果
指定1中配置好的类似的配置文件并运行如下命令:
[root@localhost conf]# glances -C XXX/glances.conf --export-elasticsearch
然后会看到
localhost (CentOS Linux 7.3.1611 64bit / Linux 3.10.0-514.21.1.el7.x86_64) Uptime: 18:57:21CPU [| 1.8%] CPU 1.8% nice: 0.0% MEM 25.2% active: 544M SWAP 0.5% LOAD 8-coreMEM [|||||||||||||| 25.2%] user: 0.3% irq: 0.0% total: 3.69G inactive: 605M total: 3.87G 1 min: 0.00SWAP [ 0.5%] system: 0.8% iowait: 0.0% used: 953M buffers: 4K used: 19.0M 5 min: 0.03 idle: 98.9% steal: 0.0% free: 2.76G cached: 748M free: 3.86G 15 min: 0.21NETWORK Rx/s Tx/s TASKS 289 (624 thr), 1 run, 288 slp, 0 oth sorted automatically by cpu_percent, flat view_67d799e6 0b 0bdocker0 0b 0b Systemd 4 Services active: 168 loaded: 168 ens33 2Kb 46Kblo 248b 248b CPU% MEM% VIRT RES PID USER NI S TIME+ R/s W/s Command _h128506f 0b 0b 108.8 0.7 615M 25.7M 69204 root 0 R 0:01.42 0 0 /usr/bin/python /usr/bin/glances -C glances.conf --export-elasticsearch_h1c31995 0b 0b 43.8 0.4 936M 15.2M 2131 root 0 S 12:18.70 0 0 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-contain_h24a3400 0b 0b 0.0 0.0 0 0 75 root -20 S 0:00.00 0 0 kthrotld_h620ce94 0b 0b 0.0 0.0 0 0 2663 root -20 S 0:00.00 0 0 xfs-conv/dm-7_h71d8139 0b 0b 0.0 0.0 0 0 80 root -20 S 0:00.00 0 0 ipv6_addrconf_he18dab5 0b 0b 0.0 0.0 0 0 56030 root 0 S 0:00.10 0 0 xfsaild/dm-12_hedaee18 0b 0b 0.0 0.0 0 0 68902 root 0 S 0:00.33 0 0 kworker/3:4_hf923e0b 0b 0b 0.0 0.0 0 0 2625 root -20 S 0:00.00 0 0 kdmflush_hfc783b2 0b 0b 0.0 0.0 0 0 81805 root -20 S 0:00.00 0 0 xfs-conv/dm-11 0.0 0.0 0 0 461 root -20 S 0:00.00 0 0 xfs-eofblocks/dDISK I/O R/s W/s 0.0 0.0 0 0 2615 root -20 S 0:00.00 0 0 xfs-log/dm-6dm-0 0 11K 0.0 0.0 0 0 691 root -20 S 0:00.00 0 0 xfs-cil/dm-2dm-1 0 0 0.0 0.0 0 0 51 root -20 S 0:00.00 0 0 kintegrityddm-10 0 0 0.0 0.0 0 0 2614 root -20 S 0:00.00 0 0 xfs-reclaim/dm-dm-11 0 0 0.0 0.0 0 0 688 root -20 S 0:00.00 0 0 xfs-buf/dm-2dm-12 0 0 0.0 0.0 0 0 31 root 0 S 0:00.11 0 0 watchdog/5dm-2 0 0 0.0 0.0 33.6M 872K 65827 root 0 S 0:00.20 0 0 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 61209 -contdm-3 0 0 0.0 0.1 267M 2.83M 2685 root 0 S 0:00.40 0 0 docker-containerd-shim 2bd489bd62e8d04cb92d0ab82fa64e21c5b66cf13031d67bedm-4 0 0 0.0 0.0 0 0 2612 root -20 S 0:00.00 0 0 xfs-conv/dm-6dm-5 0 0 0.0 0.0 0 0 8 root 0 S 0:00.00 0 0 rcu_bhdm-6 0 0 0.0 0.0 0 0 2509 root -20 S 0:00.00 0 0 xfs-log/dm-5dm-7 0 0 0.0 0.0 0 0 3200 root 0 S 0:00.00 0 0 xfsaild/dm-9dm-8 0 0 0.0 0.0 0 0 2739 root -20 S 0:00.00 0 0 xfs-cil/dm-8dm-9 0 0 0.0 0.0 0 0 102854 root -20 S 0:00.18 0 0 kworker/0:1Hsda1 0 0 0.0 0.0 0 0 24239 root 0 S 0:00.50 0 0 kworker/u256:2sda2 0 11K 0.0 0.0 0 0 663 root -20 S 0:00.00 0 0 xfs-log/sda1sr0 0 0 0.0 0.0 0 0 333 root -20 S 0:00.00 0 0 mpt_poll_0 0.0 0.0 0 0 2661 root -20 S 0:00.00 0 0 xfs-buf/dm-7FILE SYS Used Total 0.0 0.0 0 0 2466 root -20 S 0:00.00 0 0 xfs-reclaim/dm-/ 39.0G 50.0G 0.0 0.0 0 0 65813 root -20 S 0:00.00 0 0 xfs-eofblocks/d/boot 169M 497M 0.0 0.0 0 0 56029 root -20 S 0:00.00 0 0 xfs-eofblocks/d/home 114M 45.5G 0.0 0.0 0 0 3199 root -20 S 0:00.00 0 0 xfs-eofblocks/d_cemapper 39.0G 50.0G 0.0 0.0 0 0 612 root -20 S 0:00.00 0 0 nfit_a6dd3b13 758M 9.99G 0.0 0.0 0 0 2613 root -20 S 0:00.00 0 0 xfs-cil/dm-6_75a5f8b1 47.7M 9.99G2017-07-11 17:24:36 No warning or critical alert detected
这样的一大坨监控结果,那么就运行成功了,同时,通过访问elasticsearch的REST接口,可以看到导出的结果。浏览器中打开:http://192.168.0.102:9200/glances/cpu/system
,这是elasticsearch监听的地址和端口,可以获得的内容类似如下:
{ "_index": "glances", "_type": "cpu", "_id": "system", "_version": 20, "found": true, "_source": { "timestamp": "2017-07-11T15:38:51.717794", "value": "1.1" }}
由于博主对elasticsearch不了解,相关的elk整合高端玩法就不提了。
4. 其他
对于elasticsearch的python库安装时候需要特别注意,不同的版本很可能运行不了。
elasticsearch的python库pypi上有如下一段:
# Elasticsearch 5.xelasticsearch>=5.0.0,<6.0.0# Elasticsearch 2.xelasticsearch>=2.0.0,<3.0.0# Elasticsearch 1.xelasticsearch>=1.0.0,<2.0.0# Elasticsearch 0.90.xelasticsearch<1.0.0
一定要对应着版本使用,否则会出现莫名奇妙的问题。
glances自定义的导出插件存放的位置在源码包中: XXX/glances-x.x/glances/exports/
,其中可以查看elasticsearch等的插件内容。
- 配置glances并输出到Elasticsearch
- glances
- elasticsearch-jdbc配置,mysql到elasticsearch
- logstash输出到elasticsearch多索引
- 使用logstash输出到elasticsearch中文乱码的解决方案
- Elasticsearch 入门:logstash 5.0.0 安装及输出数据到 elasticsearch
- Log4j配置[输出到文件]
- .net 输出文件到客户端并删除
- DataTable 写入XML 并输出到前台
- 读取文件并输出到客户端
- DataTable 写入XML 并输出到前台
- 冒泡排序并输出到文件
- Windows环境搭建ElasticSearch 5.*并配置head
- Windows环境搭建ElasticSearch 5.*并配置head
- C#异步跟踪exe输出并输出到RichTextBox
- Elasticsearch配置
- Elasticsearch配置
- elasticsearch配置
- 单例模式的写法(考虑多线程的情况下)
- 基于Vue的后台选择推荐
- 使用Selenium 打开IE浏览器
- @PreUpdate 和@PrePersist
- hustoj 在生产环境中的应用 高性能 优化 功能增加
- 配置glances并输出到Elasticsearch
- 1021. Deepest Root (25) 并查集+BFS
- Global Optimization Software
- jzoj 模拟赛总结(2017.07.12)
- 5-18 Hashing
- 【洛谷1962】 斐波那契数列
- java-->线程总结
- 最小生成树 :: Prim && Kruskal 模板
- 双向链表与循环链表