Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

微信告警恢复,颜色我能修改为绿色吗? #39

Closed
Zhang21 opened this issue Jul 6, 2020 · 31 comments
Closed

微信告警恢复,颜色我能修改为绿色吗? #39

Zhang21 opened this issue Jul 6, 2020 · 31 comments

Comments

@Zhang21
Copy link
Contributor

Zhang21 commented Jul 6, 2020

使用md格式的微信机器人(webhook是支持的),默认的告警颜色是红色。

我能将告警恢复的颜色自定义为其它颜色吗?例如绿色。这样用于更直观的区别是告警还是恢复。在此程序中需要如何修改?

@feiyu563
Copy link
Owner

feiyu563 commented Jul 6, 2020 via email

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 6, 2020

意思是需要在自定义模板上加上<font color=xxx>xxx</font>这个。

修改自定义模板又要替换alertmanger的访问地址。

能不能直接修改程序的默认模板?

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 6, 2020

但是我只需要恢复是绿色,告警我还是需要使用红色。我还是不知道在PrometheusAlert程序哪儿修改? 能麻烦给个文档地址吗?谢谢!

还有,我觉得告警红色,恢复绿色可以直接写成PrometheusAlert默认。

@feiyu563
Copy link
Owner

feiyu563 commented Jul 6, 2020 via email

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 6, 2020

但是自定义模板里面,如何区分是告警信息还是恢复信息? @feiyu563

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 6, 2020

主要是如果使用自定义模板,在alertmanager里面的webhook地址就需要修改为特定模板的地址。

如果直接让模板以类似配置文件的方式,在启动的时候加载,是不是更好一些。这样我也不需要自定义模板,直接修改本地配置文件模板。

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 6, 2020

我个人觉得,把模板剥离成配置文件的格式不是更好些?

由于本人不会go,所以没看到程序的默认模板是写死在哪儿的。

@feiyu563
Copy link
Owner

feiyu563 commented Jul 7, 2020

#30 这个里面记录的有恢复告警的写法

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 7, 2020

好的,我先测试测试。

@feiyu563
Copy link
Owner

feiyu563 commented Jul 7, 2020

固定模板是方便对编程语言和监控系统不熟悉的人能方便配置接入到PrometheusAlert

@feiyu563
Copy link
Owner

feiyu563 commented Jul 7, 2020

自定义模板是最为推荐的一种方式

@feiyu563 feiyu563 closed this as completed Jul 7, 2020
@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 7, 2020

哦,看到日志了。模板是写入数据库里面去了。

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 7, 2020

自定义模板是最为推荐的一种方式

关于自定义模板我有一个问题,就是我使用自定义模板后,修改了alertmanager里的配置。那不是我所有告警都只能使用这一个模板?那我是不是需要在alertmanager receiver中配置多个地址?

@feiyu563
Copy link
Owner

feiyu563 commented Jul 7, 2020 via email

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 7, 2020

我在微信机器人里面没有看到红色,但默认模板有红色。请问怎么配置的呢?

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 7, 2020

已找到,使用#FF0000这个格式。

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 7, 2020

使用自建模板的webhook地址,自建模板里面地址写死了,app.conf就不生效了,自定义的wxurl也不生效了。

如何解决?我改了数据库也不起作用。没找到默认的告警模板在代码何处。

@feiyu563

1 similar comment
@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 7, 2020

使用自建模板的webhook地址,自建模板里面地址写死了,app.conf就不生效了,自定义的wxurl也不生效了。

如何解决?我改了数据库也不起作用。没找到默认的告警模板在代码何处。

@feiyu563

@feiyu563 feiyu563 reopened this Jul 7, 2020
@feiyu563
Copy link
Owner

feiyu563 commented Jul 7, 2020

没明白什么意思

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 7, 2020

没明白什么意思

@feiyu563 @xmx0632 请问两位的alertmanger是怎么配置的?

我按照文档配置,那不是wxurl已经被写死了?那自己配置的其它机器人是否就不生效了?还有就是,app.conf里面配置是否也不生效了?时间转换这些都不生效。

找到需要使用的自定义消息模版,复制表格中路径一列的地址内容,并将地址中[xxxxx]中的地址或手机号替换成你实际的配置,将其粘贴到对应的WebHook地址配置中即可。


我只是像使用自定义的模板,但我还是需要继续使用app.conf里面的内容。关于多个机器人,关于时区等等。怎么解决?

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 7, 2020

我能不能只填写模板地址,不填写其它配置,让它从app.conf里取读取?

我使用sqlite3连数据库都改了,使用默认的接口还是不生效。

这个默认的告警模板是写死在代码里面的了吗?我连数据库都改了,哎!

@feiyu563
Copy link
Owner

feiyu563 commented Jul 7, 2020

除了/prometheusalert 这个接口的,其他接口都是固定模板,无法更改模板的,新版本已经解决时区,多个机器人地址等问题,过几天发版

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 8, 2020

@feiyu563 好的,我等下一版测试以下。issue就先不关。

我还有一个疑问,为什么不直接把告警模板写在配置文件里面?这样就不需要sqlite数据库操作,也不需要自定义模板,直接改原模板就完了。
这样把模板从代码中拿出来,也解决了代码硬编码的问题。不是挺好的吗?何必搞得这么复杂!

在程序启动的时候去加载告警模板配置文件不就好了吗?

谢谢!

@feiyu563
Copy link
Owner

feiyu563 commented Jul 8, 2020

咱们默认支持的接入端和输出端太多,每个接入端和输出端都需要对应一个模板,通过配置文件不适合新手使用

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 8, 2020

把所有告警模板写入配置,启动时加载进行。新手使用的化,不修改就是用默认的,和写入代码中一样啊。

@feiyu563
Copy link
Owner

feiyu563 commented Jul 8, 2020 via email

@Zhang21
Copy link
Contributor Author

Zhang21 commented Jul 8, 2020

我是运维,现在由于云原生这些,都在往Prometheus上迁了。 现在都是往metrics的趋势上走了。

@Zhang21
Copy link
Contributor Author

Zhang21 commented Aug 10, 2020

你好,这个默认写在代码里的模板在哪个位置,我想手动去修改。

因为告警恢复也是和告警一样的颜色,很不直观。我想直接修改代码,自己编译二进制。

作者你也比较忙,这些功能不知道什么时候能上,我也去看了以下go的文档,大概看得懂一些了。

@feiyu563

@feiyu563
Copy link
Owner

feiyu563 commented Aug 10, 2020 via email

@Zhang21
Copy link
Contributor Author

Zhang21 commented Aug 10, 2020

修改了controller/prometheus.go里面的微信机器人告警恢复格式:

wxtext = "[" + Title + "Prometheus" + titleend + "](" + RMessage.GeneratorUrl + ")\n>**[" + RMessage.Labels.Alertname + "](" + message.Externalurl + ")**\n> <font color=\"info\"> 告警级别: </font>" + AlertLevel[nLevel] + "\n> <font color=\"info\"> 开始时间: </font>" + At + "\n> <font color=\"info\"> 结束时间: </font>" + Et + "\n> <font color=\"info\"> 实例地址: </font>" + RMessage.Labels.Instance + "\n <font color=\"info\">" + RMessage.Annotations.Description + "</font>"

测试没什么问题。效果如下:

image


我这里把issue关了,看作者你需不需要把这个改到代码里。 @feiyu563

@Zhang21 Zhang21 closed this as completed Aug 10, 2020
@feiyu563
Copy link
Owner

feiyu563 commented Aug 10, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants