collectd+logstash+influxdb+grafana构建windows服务器应用监控系统
一、背景介绍
本监控方案支持对Windows Server服务器集群的全面监控,方案提供丰富的图表展示, 以及对异常问题进行邮件的实时报警。
本系统由Collectd(操作系统数据搜集)、logstash(业务数据搜集)、Influxdb(数据存储)、Grafana(图表展示和预警)四个子系统组成。
Collectd 是一个商业产品,但可以下载其免费版本,安装后已windows服务的形式运行,提供了配置界面(虽然很多模块不支持),总体而言操作比较方便。
logstash是一个完全开源的工具,可以进行日志收集、分析。
Influxdb 是一个开源,分布式,时间序列,事件,可度量和无外部依赖的数据库。
Grafana 是用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。同时也提供了细致的预警功能。
二、 Collectd
- 下载Collectd安装包
3. 修改配置:
4. 修改完成后即可正常使用Collectd
安装后默认服务是启动的,修改配置后需要重启SSC Service。
三 logstash
10.180.8.88 /parQuery/123 655
10.180.5.77 /orderQuery/pnr 317
10.180.5.77 /orderQuery/pnr 250
10.180.5.77 /parQuery/123 44
10.180.8.88 /parQuery/123 442
10.180.5.77 /orderQuery/pnr 195
10.180.5.77 /orderQuery/pnr 303
input {
file { # 文件路径 path => "F:/projects/Test/*.log" }
}
filter {
#定义数据的格式
grok {
match => { "message" => "%{IPV4:client} %{GREEDYDATA:request} %{NUMBER:duration}"}
}
mutate { convert => { "duration" => "integer" }}
}
output {
stdout{codec => json}
influxdb {
db => "test" #influxDB数据库名
host => "localhost" #influxDB服务地址
port => "8086" #influxDB端口
user => "username" #influxDB初始化的用户名
password => "password"
#influxDB初始化的秘密allow_time_override => true #
允许覆盖time
事件中的列?coerce_values => { # 转换类型
"duration" => "integer"
}
data_points => { #
键/值对的哈希表示要发送到指定数据库的数据"client" => "%{client}"
"request" => "%{request}"
"duration" => "%{duration}"
}
}
}
logstash.bat -f logstash.conf
四、 Influxdb
安装Influxdb
1. 下载influxdb安装包
https://dl.influxdata.com/influxdb/releases/influxdb-1.3.4_windows_amd64.zip
2. 解压influxdb
3. 根目录创建run.bat文件用于启动influxDB,写入“influxd.exe -config F:\monitor\influxdb-1.3.4-1\influxdb.conf”,使influxdb.conf文件生效,也可通过环境变量来设置相关配置信息。
Influxdb 配置
1. 这三个配置是跟数据存储相关的配置influxdb.conf,默认放在了系统用户根目录下,可以进行修改。
2. 打开collectd端口
Influxdb 启动
执行创建的run.bat文件。Influxdb 注意事项
- 注意涉及到influxdb 相关数据文件路径及相关读写权限问题,涉及配置文件:$INFLUXDB_HOME/influxdb.conf
- 在1.3版本以上取消了WEB管理的模块,可使用influx.exe通过命名操作influxDB
- 创建管理员账号:CREATE USER username WITH PASSWORD password WITH ALL PRIVILEGES
- Influxdb 查询语句类似普通SQL,但细节差异较多,详见官网
- 由于数据量较多,当查询数据时,尽量使用limit 对查询结果进行限制,以免数据库崩溃
五、 Grafana
安装配置Grafana
1. 下载Grafana:
https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.5.2.windows-x64.zip
2. 解压后修改\conf\defaults.ini文件,配置STMP,预警邮件会使用到
Grafana启动页面
默认登录密码为admin/admin,请及时修改为强密码Grafana配置数据源
1. 登录Grafana,点击页面左上角Grafana图标,选择DataSource
Grafana添加数据图表
1. 添加Dashboards2. 选择视图样式
Grafana添加预警
1.进入通知频道
Grafana注意事项
1. 登录地址为:http://IP:3000/login
2. 默认登录密码为admin/admin,请及时修改为强密码,添加数据源和数据图表等权限都需要该账户具有编辑权限才可以进行操作,需要用admin进行权限赋予。
collectd+logstash+influxdb+grafana构建windows服务器应用监控系统的更多相关文章
- Metrics.net + influxdb + grafana 构建WebAPI的自动化监控和预警
前言 这次主要分享通过Metrics.net + influxdb + grafana 构建WebAPI的自动化监控和预警方案.通过执行耗时,定位哪些接口拖累了服务的性能:通过请求频次,设置适当的限流 ...
- window平台基于influxdb + grafana + jmeter 搭建性能测试实时监控平台
一.influxdb 安装与配置 1.1 influxdb下载并安装 官网无需翻墙,但是下载跳出的界面需要翻墙,我这里提供下载链接:https://dl.influxdata.com/influxdb ...
- Spring Boot Actutaur + Telegraf + InFluxDB + Grafana 构建监控平台
完成一套精准,漂亮图形化监控系统从这里开始第一步 Telegraf是收集和报告指标和数据的代理 它是TICK堆栈的一部分,是一个用于收集和报告指标的插件驱动的服务器代理.Telegraf拥有插件或集成 ...
- 微服务监控之二:Metrics+influxdb+grafana构建监控平台
系统开发到一定的阶段,线上的机器越来越多,就需要一些监控了,除了服务器的监控,业务方面也需要一些监控服务.Metrics作为一款监控指标的度量类库,提供了许多工具帮助开发者来完成自定义的监控工作. 使 ...
- 基于 Njmon + InfluxDB + Grafana 实现性能指标实时可视监控
引言 最近逛 nmon 官网时,发现了一个新工具 njmon,功能与 nmon 类似,但输出为 JSON 格式,可以用于服务器性能统计. 可以使用 njmon 来向 InfluxDB 存储服务器性能统 ...
- 使用Vert.x构建Web服务器和消息系统
如果你对Node.js感兴趣,Vert.x可能是你的下一个大事件:一个建立在JVM上一个类似的架构企业制度. 这一部分介绍Vert.x是通过两个动手的例子(基于Vert.x 2.0). 当Node.j ...
- Grafana+Prometheus打造全方位立体监控系统
前言 本文主要介绍如何使用Grafana和Prometheus以及node_exporter对Linux服务器性能进行监控.下面两张图分别是两台服务器监控信息: 服务器A 服务器B 概述 Promet ...
- 利用Metrics+influxdb+grafana构建监控平台(转)
转自http://www.jianshu.com/p/fadcf4d92b0e 这里再配合Influxdb和Grafana可以构建一个非常漂亮的实时监控界面. Grafana监控界面 采集数据(Met ...
- Telegraf+Influxdb+Grafana(Windows下本机简易监控系统搭建)
1.文件名称 telegraf-1.5.0_windows_amd64.zip influxdb-1.4.2_windows_amd64.zip grafana-4.6.3.windows-x64.z ...
随机推荐
- Jython中文乱码问题
最近,在项目中需要用到Java代用Python的代码,并且需要传参数,因此选用了Jython包,但是,如果在调用python脚本时,出现了中文乱码的现象.代码如下: PythonInterpreter ...
- Tavas and Malekas
题面 题目描述 给你两个字符串a和b,告诉所有你b在a中一定匹配的位置,求有中不同的字符串a.a的长度为n,b的长度为m,一定匹配的位置有p个.若b在a中的一定匹配的位置为x,说明a[x-x+m-1] ...
- Extjs grid增加或删除列后记住滚动条的位置
IE下验证好使. { text: "Del", icon: 'Scripts/Ext/resources/images/icons/application_form_delete. ...
- 获取非行间样式getComputedStyle
有如下代码: 1 2 3 div { width: 200px; } 1 2 3 <div id="aa" style="height: 100px;&qu ...
- 【maven】架包下载失败,maven引入架包失败,pom文件未报错,但是引用的注解找不到
出现这种问题 看到这个jar包显示是unkown,不知道版本,所以这样的解决方法就是 1.先查看maven设置是使用的自定义的仓库还是默认的仓库 2.删除掉你引用的jar包下载失败的文件夹 3.然后重 ...
- 使用c#訪问Access数据库时,提示找不到可安装的 ISAM
使用c#訪问Access数据库时,提示找不到可安装的 ISAM.例如以下图: 代码例如以下: connectionString = "Provider=Microsoft.Jet.OLEDB ...
- vim 寄存器的使用
1. 寄存器的格式 "[a~z] 2. 在复制时指定寄存器:"ayw 3. 剪切时使用寄存器:"add 3. 黏贴时指定从某个寄存器处获取数据:"ap 4. 几 ...
- 华为OJ 名字美丽度
这是一道坑爹的题目,为什么这么说,且看我慢慢分析-- 题目例如以下: 给出一个名字,该名字有26个字符串组成,定义这个字符串的"美丽度"是其全部字母"美丽度"的 ...
- C语言各种keyword
1.register 在函数内定义变量时.默认是 auto 类型,变量存储在内存中,当程序用到该变量时,由控制器发出指令将内存中该变量的值送到运算器,计算结束后再从运算器将数据送到内存.假设一个变量用 ...
- Linux随笔记
Linux配置apt-get源地址 以Ubuntu配置网易开源镜像站为例: 访问地址:http://mirrors.163.com/,找到对应的系统. 先将source.list进行备份,执行: su ...