TICK监控搭建相关细则

杂乱、简约,仅用作自我提醒

====================================================================================

官网:

 Telegraf: https://docs.influxdata.com/telegraf/v1.13/plugins/plugin-list/

 Input支持文档: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/tomcat

Gork支持文档:https://github.com/logstash-plugins/logstash-patterns-core/blob/master/patterns/grok-patterns

https://www.cnblogs.com/stozen/p/5638369.html

influxdb: https://docs.influxdata.com/influxdb/v1.0

                    中文文档:https://jasper-zhang1.gitbooks.io/influxdb/content/

                    https://www.jianshu.com/p/a3a2f8f5dd65(influxdb原理)
grafana: http://docs.grafana.org/

Chronograf: https://docs.influxdata.com/chronograf/v1.6/introduction/getting-started/

Influxdb 与es的比较:http://www.mamicode.com/info-detail-1877283.html

Kapacitor: https://segmentfault.com/a/1190000007513519(定制化的alert模板)

Tickscript :https://blog.csdn.net/terminatorsong/article/details/87257038(tickScript简介)

                       https://docs.influxdata.com/kapacitor/v1.5/tick/syntax/(官方文档)

                   https://www.w3cschool.cn/doc_influxdata/influxdata-kapacitor-v1-2-tick-expr-index.html?lang=en(w3cschool)

AlertRule: https://docs.influxdata.com/chronograf/v1.7/guides/create-alert-rules/(面板介绍)

 

=============================各个软件安装版本(版本很重要)==================================

Influxdb: wget https://dl.influxdata.com/influxdb/releases/influxdb-1.6.1.x86_64.rpm

Telegraf:  wget https://dl.influxdata.com/telegraf/releases/telegraf-1.8.3-1.x86_64.rpm

Grafana: wget https://dl.grafana.com/oss/release/grafana-6.0.2-1.x86_64.rpm

Chronograf:  wget https://dl.influxdata.com/chronograf/releases/chronograf-1.6.1.x86_64.rpm

Kapacitor: wget https://dl.influxdata.com/kapacitor/releases/kapacitor-1.2.0.x86_64.rpm

安装 yum localinstall xxxx.rpm

配置文件去 /etc/xxx/*.config||*.ini找

默认运行日志去/var/log/*.log

===========================================================================================

Centos6 与centos7服务管理差别

1.service命令

service命令其实是去/etc/init.d目录下,去执行相关程序

# service命令启动redis脚本

service redis start

# 直接启动redis脚本

/etc/init.d/redis start

# 开机自启动

update-rc.d redis defaults

2.systemctl命令

systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。

systemd对应的进程管理命令是systemctl

 

systemctl命令兼容了service

即systemctl也会去/etc/init.d目录下,查看,执行相关程序

systemctl start redis

systemctl stop redis

# 开机自启动

systemctl enable redis

=========================================================================================

 

目前删除文件 先去whereis   服务(whereis用于查询某个文件的位置。它是通过查询数据库来查找的);  然后rm –rf  安装路径(bin lib etc )

再去找安装包    rpm -qa | grep -i mysql   删除安装包  rpm -ev mysql-community-server-8.0.11-1.el7.x86_64   强删 rpm -ev mysql-community-common-8.0.11-1.el7.x86_64 –nodeps

也可以  find / -name profile 建议别去这样做  如果各服务之间有些关联服务,删除某些文件,会导致报错(通过遍历整个硬盘来查找文件,速度慢,且消耗硬盘资源,但是查找很彻底)

检测端口号  netstat -lntp | grep 6379

 

===========================================================================================

目前问题:邮件报警 hengtiansoft邮件服务器ssl拦截 、tomcat[input]capriobo.com拦截

influxdb的数据时间戳存入时只能存UTC时间(自定义插入可以在时间戳上加8小时,查询时可以指定时区,在grafana以及chronograf中已经为你转化成了东八区时间)

Telegraf中logparser.gork的pattern注意要可以解析file中的log文件,否则表象为无法在influxdb中建立对应的表(自定义)

Telegraf插件解析文件写入influxdb中文乱码(原因是源文件就要utf8,gbk解析会乱码)

172.17.128.18中自建文件夹/var/log/mylog/*.log 可以解析

172.16.129.16的/home/……/wedata.log 无法解析  而自建的/var/log/mylog/*.log可以解析 (文件夹目录权限影响  rwx 可以  rw- 不可以,无操作权限)

如果是spring cloud的服务群 分环境(dev、qa、uat、prod)的日志,如何很好的标识,服务可以根据influxdb中的日志measument的path来区分,环境(host)?

Tomcat8 修改 tomcat-users.xml注意4个角色不要去改  与WEBINF里的页面对应

同时webapps\manager\META-INF\context.xml中的配置 注释掉<value    />

 

curl --header "Authorization":"Basic dG9tY2F0OnRvbWNhdA==" -v  http://localhost:8080/manager/status/all

 

Nginx 需要在配置文件中添加

location /nginx-status {

         allow 127.0.0.1;

          deny all;

          stub_status on;  //统计功能模

          access_log off;

         }

进入  sbin目录下 重启  ./nginx -s reload  可能会报错

nginx: [emerg] unknown directive "stub_status" in /usr/local/nginx/conf/nginx.conf:92

 

 

=====================================需要进一步了解的几个issure================================

  • telegraf对redis一些指标监控的方式 (是否为命令方式监控)

源码中一下片段:

func (r *RedisClient) Info() *redis.StringCmd {

              return r.client.Info("ALL")

}

是直接调用 redis的info命令来返回一些监控信息

 

  • 日志grok解析msg是否全面

目前写的的grok表达式无法解析全面

  • Kapacitor的rule定制最大灵活度

Kapacitor是一款时序数据分析、处理的软件。可以周期性将InfluxDB中的数据汇总、处理后再输出到InfluxDB当中,或者告警(支持Email、HTTP、TCP、 HipChat, OpsGenie, Alerta, Sensu, PagerDuty, Slack等多种方式)

查看task 以及recording

 kapacitor list tasks    kapacitor list recordings

ID                                                 Type      Status    Executing Databases and Retention Policies

chronograf-v1-6f5f7b2d-d7a5-4125-a793-e95c31bc2cfc stream    enabled   true      ["telegraf"."autogen"]

可以用可视化 工具 chronograf 手动建  也可以 自己写 .tick模板

具体可以搜索“Kapacitor之TICK脚本,监控输出”

先创建 模板(tickScript)再根据模板参数 写一个json文件 将参数上传到模板中 生成对应的任务

 

参考网址:https://www.itdaan.com/blog/2018/05/09/dc843ce87cf74e74c1aa5ee1a05b7ebe.html

 

疑问:tickScript的报警中 有表达式 对 字符类型数据处理吗  比如 模糊以及全匹配 ?

 

 

四、Grafana图表定制 是否可以一图兼容多数据源

         可以同个dashboard 兼容多种数据源  不可以一个panel 兼容多个数据源

五、Influxdb存储策略单表定制

           查询数据库现有数据保留策略   show retention policies on telegraf

name

duration

shardGroupDuration

replicaN

default

default

0

168h0m0s

1

true

 

 

 

可以看到telegraf只有一个策略, 个字段的含义如下:

 

name 名称, 此示例名称为default

duration 持续时间, 0代表无限制

shardGroupDuration shardGroup的存储时间, shardGroup是InfluxDB的一个基本存储结构, 应该大于这个时间的数据在查询效率上应该有所降低.

shard 在 InfluxDB 中是一个比较重要的概念,它和 retention policy 相关联。每一个存储策略下会存在许多 shard,每一个 shard 存储一个指定时间段内的数据,并且不重复,例如 7点-8点 的数据落入 shard0 中,8点-9点的数据则落入 shard1 中。每一个 shard 都对应一个底层的 tsm 存储引擎,有独立的 cache、wal、tsm file。

 

https://cloud.tencent.com/developer/article/1546922(删除策略相应的变化)

 

replicaN 全称是REPLICATION, 副本个数

default 是否是默认策略 influxdb默认的策略便是一直保存数

 

新建策略

CREATE RETENTION POLICY "2_hours" ON "telegraf" DURATION 2h REPLICATION 1 DEFAULT

通过上面的语句可以添加策略, 本例在telegraf库添加了一个2小时的策略, 名字叫做2_hours,duration为2小时, 副本为1, 设置为默认策略.

因为名为default的策略不再是默认策略, 因此, 在查询使用default策略的表时要显示的加上策略名"defalut"

select * from "default".cpu limit 2

修改策略使用如下语句修

ALTER RETENTION POLICY "2_hours" ON "telegraf" DURATION 4h DEFAULT

删除策

drop retention POLICY "2_HOURS" ON "telegraf"

注意:当一个表使用的策略不是默认策略时, 在进行操作时一定要显示的指定策略名称, 否则会出现错误.

新建策略并且设置为默认策略的时候  查询数据的时候 会根据新建的策略之后跑进去的为准

 

之前老数据保留策略的数据会保留,但是不会有新的数据写进去(新的数据写进新的保留策略中)

注意 新建默认策略大概半小时左右生效,因为influxdb会每半个小时检查一遍数据保留策略(所以不会是严格的2h 【第一次】)

 

Windows机器上的telegraf监控

https://portal.influxdata.com/downloads/

https://download.csdn.net/download/qiguangwei1985/10477141 (1.6.4版本)

https://github.com/influxdata/telegraf/tree/master/plugins/inputs/win_perf_counters

配置文件修改完成后,我们保存后,在Telegraf的目录栏输入cmd,执行telegraf -config telegraf.conf 就可以运行Telegraf数据收集工具了,我们通过Telegraf配置的数据库中可以查看,我们监控的单独进程的内存信息

(目前windows与linux使用同一张表 数据有写进去 但是在chrongraf中显示不出来)

==========================================================================================

Telegraf中的logparser解析是否只能解析单行日志?(tail

logstash 可以解析多行日志 例如 匹配到时间开头的字段归于上一行

https://my.oschina.net/xiangtao/blog/1504631

http://blog.chinaunix.net/uid-532511-id-4845841

https://github.com/influxdata/telegraf/blob/release-1.13/plugins/inputs/logparser/README.md

telegraf里面是否可以指定机器名?

修改agent中的hostname 覆盖默认的host

日志格式不统一 ()

可以有多个pattern 但是日志格式最好统一  使用目前 最新的wedata格式  防止出现多path情况

Influxdb 查询 字段中 含有 ‘\’报错 ,无法解析

日志编码 非utf-8

如果机器连不上网 也会导致 hostList中的status 为红色

Chronograf报错  failed to fetch json feed from https://www.influxdata.com/feed/json

 

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值