- A+
所属分类:ELK
topbeat定期收集系统信息如每个进程信息、负载、内存、磁盘等等,然后将数据发送到elasticsearch进行索引。
topbeat收集的指标有:
系统统计信息
- 系统负载: 最后1分钟、最后5分钟、最后15分钟
- CPU使用情况: user (和百分比), system, idle, IOWait等等
- 内存使用情况: 总共, 已用 (和百分比), 剩余等等
- swap使用情况:总共, 已用 (和百分比), 剩余等等
每个进程的统计信息
- 进程名
- 进程PID
- 进程状态
- 进程ID
- 进程使用CPU情况: 用户 (和百分比), 系统, 总数 和 启动时间
- 进程使用内存情况: 虚拟内存,常驻内存(和百分比) 和 共享内存
文件系统统计信息
- 可用磁盘列表
- 每个磁盘、名称、类型和挂载目录
- 每个磁盘总大小、已用(和百分比)、剩余和可用空间
Topbeat 可以将这些收集到的指标直接插入到elasticsearch或者是使用logstash。
要使用这个你要安装elasticsearch,kibana,参见前文。我这里直接存储到elasticsearch。
安装
参见上一篇文章,添加yum源。
1 |
# yum install topbeat |
配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# vi /etc/topbeat/topbeat.yml input: period: 10 procs: [".*"] stats: system: true proc: true filesystem: true output: elasticsearch: hosts: ["10.1.19.18:9200"] shipper: logging: files: |
period 选项定义收集信息的频率,默认是10秒。
procs 选项定义正则表达式,以匹配你所要监控的进程。默认是所有正在运行的进程都进行监控。
如果不监控进程,可以这么做:
1 2 3 |
input: period: 10 procs: ["^$"] |
导入elasticsearch索引模板
将topbeat提供的索引模板导入到elasticsearch,以便elasticsearch知道哪些字段以哪种方式进行分析。
1 |
# curl -XPUT 'http://10.1.19.18:9200/_template/topbeat' -d@/etc/topbeat/topbeat.template.json |
运行topbeat
1 |
# /etc/init.d/topbeat start |
加载kibana Dashboards
官方提供了一些仪表盘样本方便我们查看监视,项目地址:https://github.com/elastic/beats-dashboards
加载方法如下:
1 2 3 4 |
# wget http://download.elastic.co/beats/dashboards/beats-dashboards-1.0.0.tar.gz # tar xzvf beats-dashboards-1.0.0.tar.gz # cd beats-dashboards-1.0.0/ ./load.sh http://10.1.18.19:9200 |
创建了三个beat索引
- [packetbeat-]YYYY.MM.DD
- [topbeat-]YYYY.MM.DD
- [filebeat-]YYYY.MM.DD
以及仪表盘
topbeat配置项
beats公共配置选参见前文。这里主要说说topbeat的input部分的配置选。如下配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
input: # In seconds, defines how often to read server statistics period: 10 # Regular expression to match the processes that are monitored # By default, all the processes are monitored procs: [".*"] # Statistics to collect (all enabled by default) stats: system: true proc: true filesystem: true |
前面说了period和procs。这里说下stats。
stats指定要收集的统计数据,可以是下面的设置:
system: true
捕捉系统的统计信息,如系统负载、CPU使用情况、内存使用情况、swap使用情况。proc: true
捕捉每个进程的统计信息,如进程名、进程PID、状态、进程ID、CPU使用率和内存使用率。filesystem: true
捕捉文件系统统计信息,如磁盘空间总大小、磁盘设备名、挂载目录。

微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~