精华内容
下载资源
问答
  • Prometheus 钉钉自定义告警模板实现

    千次阅读 2020-06-17 16:58:29
    实现钉钉模板配置: 我们先来看看二进制包的命令行参数: $/opt/prometheus/server/ding/prometheus-webhook-dingtalk/prometheus-webhook-dingtalk -h usage: prometheus-webhook-dingtalk [<flags>] Fl...

    题外话

    如需转载文章,请保留文章出处(knight.blog.csdn.net)。因为我的很多文章一般是会进行更新的。也避免百度搜出来一大推相似的文章,却找不到原创博主。

    配置钉钉告警

    配置钉钉告警请参阅:  https://blog.csdn.net/knight_zhou/article/details/105583741

    实现钉钉的模板配置:

    我们先来看看二进制包的命令行参数:

    $/opt/prometheus/server/ding/prometheus-webhook-dingtalk/prometheus-webhook-dingtalk  -h
    usage: prometheus-webhook-dingtalk [<flags>]
    
    Flags:
      -h, --help                  Show context-sensitive help (also try --help-long and --help-man).
          --web.listen-address=":8060"  
                                  The address to listen on for web interface.
          --web.enable-ui         Enable Web UI mounted on /ui path
          --web.enable-lifecycle  Enable reload via HTTP request.
          --config.file="config.yml"  
                                  Path to the configuration file.
          --log.level=info        Only log messages with the given severity or above. One of: [debug, info, warn, error]
          --log.format=logfmt     Output format of log messages. One of: [logfmt, json]
          --version               Show application version.

     

    模板配置文件如下(以下贴出关键参数配置):

    
    ## 前面的内容省略
    
    {{ define "ding.link.content" }}
    {{ if gt (len .Alerts.Firing) 0 -}}
    告警列表:
    -----------
    {{ template "__text_alert_list" .Alerts.Firing }}
    {{- end }}
    {{ if gt (len .Alerts.Resolved) 0 -}}
    恢复列表:
    {{ template "__text_resolve_list" .Alerts.Resolved }}
    {{- end }}
    {{- end }}
    

     

    看看最终效果图

     

    详细配置说明请参阅视频教程:

    第6章第10节: Prometheus 钉钉自定义告警模板实现

    视频教程地址:  https://edu.csdn.net/course/play/27740

     

    展开全文
  • 仿钉钉后台自定义表单 预览地址: pc端自定义表单,手机端扫码预览 用到jquery + jquery-ui + artTemplate + webpack artTemplate模板 运行之前请先安装依赖 npm install 开发预览运行 npm run server 打包 npm run ...
  • 前言 在prometheus配置告警分发到不同的钉钉群说明了将同一条告警分发到多个钉钉群的配置...如果需要可视化自定义模板,可以在启动dingtalk的时候,设置参数:--web.enable-ui,如下: ./prometheus-webhook-dingta

    前言

    prometheus配置告警分发到不同的钉钉群说明了将同一条告警分发到多个钉钉群的配置方式。下面提供一个我平常使用的一个钉钉告警的模板,模板最初的原型确实记不清从哪找到了,花了不少时间,后来我自己做一些适当调整,就成了现在主要使用的形式。

    钉钉告警组件

    使用的prometheus-webhook-dingtalk

    模板配置

    如果需要可视化自定义模板,可以在启动dingtalk的时候,设置参数:--web.enable-ui,如下:

    ./prometheus-webhook-dingtalk  --web.enable-ui

    这样后,可以通过如下路径:http://localhost:8060/ui预览,如下,预览便是我要提供的模板样式:

    模板的定义主要使用go template: https://golang.org/pkg/text/template/, 可以根据情况自定义

    模板配置代码

    {{ define "__subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join " " }} {{ if gt (len .CommonLabels) (len .GroupLabels) }}({{ with .CommonLabels.Remove .GroupLabels.Names }}{{ .Values | join " " }}{{ end }}){{ end }}{{ end }}
    {{ define "__alertmanagerURL" }}{{ $alertURL := "http://localhost:9093" }} {{- $alertURL -}}/#/alerts?receiver={{ .Receiver }}&tmp={{ .ExternalURL }}{{ end }}
    
    {{ define "__text_alert_list" }}{{ range . }}
    **Labels**
    {{ range .Labels.SortedPairs }}> - {{ .Name }}: {{ .Value | markdown | html }}
    {{ end }}
    **Annotations**
    {{ range .Annotations.SortedPairs }}> - {{ .Name }}: {{ .Value | markdown | html }}
    {{ end }}
    **Source:** [{{ .GeneratorURL }}]({{ .GeneratorURL }})
    {{ end }}{{ end }}
    
    {{/* Firing */}}
    
    {{ define "default.__text_alert_list" }}{{ range . }}
    
    **触发时间:** {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}
    
    **摘要:** {{ .Annotations.summary }}
    
    **描述:** {{ .Annotations.description }}
    
    **监控:** [grafana](http://localhost:3000)
    
    **详情:**
    {{ range .Labels.SortedPairs }}{{ if and (ne (.Name) "severity") (ne (.Name) "summary") }}> - {{ .Name }}: {{ .Value | markdown | html }}
    {{ end }}{{ end }}
    {{ end }}{{ end }}
    
    {{/* Resolved */}}
    
    {{ define "default.__text_resolved_list" }}{{ range . }}
    
    **触发时间:** {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}
    
    **解除时间:** {{ dateInZone "2006.01.02 15:04:05" (.EndsAt) "Asia/Shanghai" }}
    
    **摘要:** {{ .Annotations.summary }}
    
    **监控:** [grafana](http://localhost:3000)
    
    **详情:**
    {{ range .Labels.SortedPairs }}{{ if and (ne (.Name) "severity") (ne (.Name) "summary") }}> - {{ .Name }}: {{ .Value | markdown | html }}
    {{ end }}{{ end }}
    {{ end }}{{ end }}
    
    {{/* Default */}}
    {{ define "default.title" }}{{ template "__subject" . }}{{ end }}
    {{ define "default.content" }}#### \[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}\] **[{{ index .GroupLabels "alertname" }}]({{ template "__alertmanagerURL" . }})**
    {{ if gt (len .Alerts.Firing) 0 -}}
    
    ![Firing-img](https://is3-ssl.mzstatic.com/image/thumb/Purple20/v4/e0/23/cf/e023cf56-0623-0cdf-afce-97ae90eabfda/mzl.uplmrpgi.png/320x0w.jpg)
    
    **告警通知**
    {{ template "default.__text_alert_list" .Alerts.Firing }}
    {{- end }}
    {{ if gt (len .Alerts.Resolved) 0 -}}
    
    ![Resolved-img](https://is3-ssl.mzstatic.com/image/thumb/Purple18/v4/41/72/99/4172990a-f666-badf-9726-6204a320c16e/mzl.dypdixoy.png/320x0w.png)
    
    **告警解除**
    {{ template "default.__text_resolved_list" .Alerts.Resolved }}
    {{- end }}
    {{- end }}
    
    {{/* Legacy */}}
    {{ define "legacy.title" }}{{ template "__subject" . }}{{ end }}
    {{ define "legacy.content" }}#### \[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}\] **[{{ index .GroupLabels "alertname" }}]({{ template "__alertmanagerURL" . }})**
    {{ template "__text_alert_list" .Alerts.Firing }}
    {{- end }}
    
    {{/* Following names for compatibility */}}
    {{ define "ding.link.title" }}{{ template "default.title" . }}{{ end }}
    {{ define "ding.link.content" }}{{ template "default.content" . }}{{ end }}

    直接复制粘贴即可拿来用,只需要简单根据自己场景调整上面的几个告警或监控的url即可。

    模板中告警url的问题

    点击告警的url应当跳转告警管理页面,允许静默告警,有些告警可以暂时忽视,不能让它一直在告警。告警管理页面如下:

    但实际使用的时候发现告警url不对,跳到一个不正确的地址。我的解决方案,指定alertURL,忽视ExternalURL。

    ExternalURL相关使用可以看里做参考:https://github.com/timonwong/prometheus-webhook-dingtalk/issues/27

    我的实现方案是因为我能操作只有这个dingtalk或alertmanager,prometheus是和别人集成,不方便重启配置,我就想了这样一个方案,仅供参考。

    展开全文
  • 选择模板 进程监控 针对winner-backup-hdp 这台机器,根据进程名字监控进程。 创建监控项 说明: proc.num[<name>,<user>,<state>,<cmdline>] 监控用户某些状态的进程...

    目录

    1 添加主机

    1.1.配置要监控主机的信息

    1.2.添加监控信息模板​

    2 进程监控

    2.1.创建监控项​

    2.2.创建触发器

    2.3.报警媒介类型创建

    2.4.用户创建

    2.5.创建动作

    3 测试

    4 自定义Key

    4.1zabbix客户端key说明

    4.2.zabbix-agent 配置conf

    4.3.zabbix中使用


    1 添加主机


    zabbix 版本比较旧生产的版本,RPM方式安装:zabbix-server安装和入门

    1.1.配置要监控主机的信息

    1.2.添加监控信息模板

    2 进程监控


    总的来说,配置一个完整的监控流程如下:

    1.创建监控项,即配置要监控的指标,如内存的使用率,CPU的使用率,进程的运行状况等,配了监控项后就会定时收集机器的配置信息,然后等待zabbix server收集(zabbix agent被动模式)。
    2.创建触发器,触发器将监控项收集的数据通过触发器表达式进行评估。
    在触发器表达式中我们可以定义哪些值范围是合理,哪些是不合理的,如果出现不合理的值,触发器会把状态改为PROBLEM,接下来就到了报警以及发邮件。
    3.创建动作,在zabbix中动作的意思是触发器触发后要进行的操作,一般是通过配置给相关负责人发送邮件,短信等通知。

    2.1.创建监控项

    创建监控项 ,对于 backup-hdp 机器,监控 helloSleep.sh  脚本运行启动的进程

    配置 ===》主机 ===》监控项

    选择 proc.num[,,,]  这个 Key

    说明:

    proc.num[<name>,<user>,<state>,<cmdline>] 监控用户某些状态的进程的数量

    • name - 进程名称 (默认“all processes”) 
    • user - 用户名 (默认 “all users”) 
    • state - 可用值: all (默认), run,sleep, zomb 
    • cmdline - 命令行过滤(正则表达时)
    [root@zabbix conf]# zabbix_get -s 172.16.76.222 -p 10050 -k "proc.num[,,,helloSleep]"

    2.2.创建触发器

    配置 ===》主机 ===》触发器, 可以在 表达式构造器中  进行测试

    2.3.报警媒介类型创建

    管理===》报告媒介类型===》报警媒介类型信息填写

    脚本传入三个参数:发送消息、dingURL、告警人的手机号

    #!/usr/bin/python
    # -*- coding: utf-8 -*-
    import requests
    import json
    import sys
    import os
    
    headers = {'Content-Type': 'application/json;charset=utf-8'}
    
    def msg(text,api_url,phone):
        json_text= {
         "msgtype": "text",
            "text": {
                "content": text
            },
            "at": {
             "atMobiles": phone,
            }
        }
        print requests.post(api_url,json.dumps(json_text),headers=headers).content
    
    if __name__ == '__main__':
        text = sys.argv[1]
        api_url = sys.argv[2]
        phone = "["+sys.argv[3]+"]"
        msg(text,api_url,phone)
    

    告警脚本路径配置(压缩包安装和rpm  安装的路径不一样,告警脚本路径配置了就行),如果 python 库 报错则 下载所需要的 request、json、sys 库

    [root@zabbix conf]# cat /usr/local/etc/zabbix_server.conf | grep Alert
    ### Option: StartAlerters
    #       Alerters send the notifications created by action operations.
    # StartAlerters=3
    ### Option: AlertScriptsPath
    AlertScriptsPath=/home/zabbix/alertscripts/

    2.4.用户创建

    2.4.1.用户信息填写

    管理 ===》用户 ===》选择admin用户

    2.4.2.添加报警媒介

    报警媒介选择创建好的backup-hdp 钉钉告警

    2.4.3.添加报警媒介

    2.4.4.用户权限设置

    2.5.创建动作

    创建动作的事件源为 触发器, 触发器的条件满足则动作发生。

    2.5.1.动作配置

    2.5.2.动作中的操作配置

    2.5.3.定义恢复操作

    3 测试


    1.启动 helloSleep.sh 脚本

    2.查看进程是否启动

    3.在zabbix中 查看进程状态信息

    4.钉钉告警信息发出

    4 自定义Key


    4.1zabbix客户端key说明

    zabbix-agent中的key 说明中文版

    比如:vm.memory.size[pused]

    # 内存的使用率
    [root@hdp104 ~]# zabbix_get -s 192.168.2.154 -k vm.memory.size[pused]
    92.499053
    [root@hdp104 ~]# 

    4.2.zabbix-agent 配置conf

    自定义key  ,监控java进程

    [root@backup-hdp etc]# cat /usr/local/zabbix/etc/zabbix_agentd.conf | grep process.sh
    UserParameter=java.process.status[*],/bin/bash /home/zabbix/monitor/process.sh $1
    

    配置 完conf  后,重新启动 zabbix-agent,然后就可以使用该 Keyle

    4.3.zabbix中使用

    后面就可以使用该 Key 进行 Java 进程的监控, 其中 java.process.status[xx] 中的 内容可以是  ps -ef  | grep xxx进程中的任何 信息, 只要是唯一可区分的值就行

    欢迎大家点赞和关注! 

    展开全文
  • 钉钉小程序开发

    千次阅读 2020-05-12 13:34:18
    ②点击【创建新审批】,进入创建新审批页面,点击【自定义模板】 ③按照如下的表单样式,从控件库拖入对应的控件,最后点击【保存并启用】。 注意,在浏览器url中查找process_code参数,服务端开发需用到。 表单...

    钉钉的QuickStart,使用Java语言开发

    1. 创建审批模板
    ①登录OA管理后台,点击工作台-点击审批,进入审批管理后台
    在这里插入图片描述
    ②点击【创建新审批】,进入创建新审批页面,点击【自定义模板】
    在这里插入图片描述
    ③按照如下的表单样式,从控件库拖入对应的控件,最后点击【保存并启用】。
    注意,在浏览器url中查找process_code参数,服务端开发需用到。
    表单样式见下图:
    在这里插入图片描述
    【行程明细】是明细控件,
    【出差地点】是单行输入框,
    【图片】是图片控件,
    【开始时间,结束时间】是日期区间控件,
    【出差人数】是数字控件,
    【出差金额】是金额控件,
    【出差同伴】是单选框控件(添加的时候,把选项改为A,B,C),
    【交通工具】是单行输入框,
    【出差事由】是多行输入框。
    一定要是对应的组件,不然会出错。

    ④设置完成保存,进入流程设计模块,设计审批流程。

    目前发起审批实例接口支持两种模式,本篇quickstart采用“复用审批后台设置的审批流程模式”
    在这里插入图片描述

    服务端开发

    服务端代码下载

    git clone https://github.com/opendingtalk/eapp-corp-project.git
    

    导入服务端代码并修改配置

    更改服务端Java代码com.config.Constant.java文件

    /**
         * 企业corpid, 需要修改成开发者所在企业
         */
        public static final String CORP_ID = "***";
        /**
         * 应用的AppKey,登录开发者后台,点击应用管理,进入应用详情可见
         */
        public static final String APPKEY = "***";
        /**
         * 应用的AppSecret,登录开发者后台,点击应用管理,进入应用详情可见
         */
        public static final String APPSECRET = "***";
    
        /**
         * 数据加密密钥。用于回调数据的加密,长度固定为43个字符,从a-z, A-Z, 0-9共62个字符中选取,您可以随机生成
         */
        public static final String ENCODING_AES_KEY = "***";
    
        /**
         * 加解密需要用到的token,企业可以随机填写。如 "12345"
         */
        public static final String TOKEN = "***";
    
        /**
         * 应用的agentdId,登录开发者后台可查看
         */
        public static final Long AGENTID = 111L;
    
        /**
         * 审批模板唯一标识,可以在审批管理后台找到
         */
        public static final String PROCESS_CODE = "***";
    

    参数获取方法,请参考以下:

    (1)CORP_ID可以在开发者后台-首页中获取到
    (2)APPKEY、APPSECRET、AGENTID可在开发者后台-企业内部开发-小程序获取到
    (3)ENCODING_AES_KEY和TOKEN可以按照注释来设置。
    (4)PROCESS_CODE可以在【钉钉管理后台-审批-编辑表单-顶部URL】中找到。

    前端开发

    前端代码下载

    git clone https://github.com/opendingtalk/eapp-corp-project-fe
    

    无需进行任何的修改直接运行就好。

    整个流程下来,如果启动实例,手机上能收到审批通知,就代表启动成功!
    在这里插入图片描述

    展开全文
  • 钉钉开放平台API对接第三讲

    千次阅读 2019-09-24 15:18:40
    1、进入钉钉后台管理-工作台-审批-创建新审批-自定义模板 2、按界面拖控件定义好您需要的模板 API调用方式:指定审批人模式。 实现代码: /// <summary> /// 智能工作流-发起审批实例 ///...
  • java钉钉实现消息推送

    千次阅读 2019-11-20 15:13:18
    最近wx内部查的比较严,所以域名经常被封0.0,本打算用短信通知,但是当时短信模板审核没有通过加上比较急,就用了钉钉。参考了一下百度,发一篇详细点的文档。 下载钉钉PC端,新建内部群,群设置找到智能群助手,...
  • 钉钉小程序之视图层介绍

    千次阅读 2020-04-23 10:46:41
    1. data数据展示 {{}} 数据绑定使用 Mustache 语法(双大括号)将变量包起来,可以作用于各种...注意: 事件不能传参, 需要用data-'自定义名称' 在时间的event.target.dataset.'自定义名称中获取' 钉钉开发文档...
  • 现在很多公司办公都使用钉钉...首先先去打开官方网站了解钉钉的通知,钉钉机器人提供了很多模板(GitHub啊,GitLab啊, Coding啊) 但是没有TFS~哈哈!这里我们选择自定义机器人 《钉钉开放平台机器人文档》 ...
  • 钉钉 阿里云短信 阿里大于模板短信 腾讯云短信 华为云短信 百度云短信 又拍云短信 七牛云短信 云片网短信 E-Mail HTTP请求(单次、批量、压测) 计划中支持的消息类型 网易云信短信 榛子云短信 Luosimao短信 极光...
  • 1.创建模板 https://oapi.dingtalk.com/topapi/process/save?access_token= post请求 参数格式例子 { "saveProcessRequest":{ "name":"自定义审批3", "agentid":336405766, "process_code":"PROC-C12DC525-2791...
  • 钉钉桌面版,基于 electron 和钉钉网页版开发,支持 Windows、Linux 和 macOS 社区相关文章 福珑2.0主机(龙芯3a4000+Debian10)使用桌面版钉钉 龙芯3A4000+Debian10系统使用钉钉桌面版(dingtalk) 如何在优麒麟...
  • zabbix基于企业微信、钉钉群聊机器人实现自动化报警 在企业中,我们使用zabbix去进行监控,...zabbix部署参考:Zabbix——企业监控系统搭建、配置详解、代理部署参考:zabbix可视化、监控模板配置、自定义监控参数、自
  • 通过视图关联构建大数据集,解决亿万级数据的即时分析性能,再辅以强大的数据可视化设计前端,通过用户自定义菜单和模板进行呈现,实现用户的自助式分析和探索。 通过灵活的预警功能,设置一些自定义的监控指标,当...
  • 请按照以下模板填写 这是一个 <ul><li>[x] 错误报告</li><li>[x] 功能需求</li></ul> <h2>SaltUI 版本 <p>latest 浏览器、操作系统等环境信息 钉钉 请求功能 请问saltui PhotoField组件怎么使用自定义的上传方法&#...
  • 关键词:低代码开发、氚云、企业信息化、丰富模板、移动办公 通过信息化来提升管理效率,减低管理成本,增强企业竞争力,是绝大部分企业在发展过程中都绕不开的关键点。 对于大型企业而言,专业的IT人才配备以及...
  • 第三方登录:微信、QQ、钉钉、oschina、GitHub等 微信浏览时,通过微信授权自动获取用户信息 角色和权限 角色管理 全自动、免维护的权限字典(自动发现后台路由、插件安装卸载自动分配对应) 角色和权限的分配 ...
  • Prometheus告警设置流程

    2021-05-19 21:21:25
    Prometheus告警设置流程 作者:蓝眼泪 PrometheusAlert有邮件,企业微信,钉钉等等。 第一 prometheus告警项目...共享自定义模板:https://github.com/feiyu563/PrometheusAlert/issues/30 共享prometheus告警rules:
  • 首先我们打开钉钉,进入钉钉工作台 点击进入好队友 点击“新建系统”,这里有三种新建系统的方式: 创建系统—即自定义搭建企业管理系统 定制系统—联系好队友技术,定制专属系统 从模板中心选择—好队友提供适用...
  • 银弹谷零代码开发工具,基于H5实现,可同时支持App、微信、钉钉、PC浏览器等终端。...1,在自定义div窗体的模板内定义一个button标签。 2,给该标签设置id属性。 3,在脚本中的mounted方法内调用vdk接口。 ...
  • FeelDesk工单系统介绍

    2021-03-05 14:38:13
    l 多场景应用:基于应用场景的多样化,FeelDesk系统已经对接了微信公众号,企业微信,钉钉,邮箱系统,短信平台等,实现了多种场景的系统应用,以单点登录对接和模板消息通知等方式,方便用户使用。 l 高度自定义:...
  • 引入Senparc.Weixin开源SDK,支持微信公众号接口(目前仅支持自定义菜单,自定义回复,模板消息,粉丝用户获取,移动端html5支持回调授权access_token); 支持钉钉平台接口(目前已支持大部分功能),支持钉钉H5微...
  • ScrollList

    2020-12-01 14:13:37
    请按照以下模板填写 这是一个 <p>ScrollList 自定义数据源 - [x] 错误报告 - [ ] 功能需求 <h2>SaltUI 版本 <p>3.8.36 浏览器、操作系统等环境信息 钉钉 ios 复现步骤 钉钉微应用IOS 系统里,ScrollList 往...
  • 文章目录简介依赖导入配置核心类介绍申请邮箱授权码发送邮件示例发送简单文本邮件发送Html格式邮件发送带附件的邮件发送带静态资源的邮件发送模板邮件扩展自定义发件人名称发送多人、抄送、密送常见的错误返回码 ...
  • 集成钉钉:基于Webhook的扩展 告警模板详解 屏蔽告警通知 使用Recoding Rules优化性能 小结 Part II - Prometheus进阶 第4章 Exporter详解 Exporter是什么 常用Exporter 容器监控:cAdvisor 监控MySQL...
  • 搜索就是可以在里面搜索一些模板,应用还有表单等等,旁边的小房子就是自定义设置首页内容,可以随意改变里面的设置 ?是一些帮助手册等等 点击头像可以看到一些权限,集权设置,还有关于氚云左上角的LOGO可以...
  • 代码逻辑和技术实现简单,无需专业运维开发功底,会点python的运维即可上手维护源码,自定义与公司业务相关的功能,自行发挥作用。 python,flask,js,mysql,ldap git: 仅支持git,只会拉取当前项目分支最新代码,建议...
  • 引入Senparc.Weixin开源SDK,支持微信公众号接口(目前仅支持自定义菜单,自定义回复,模板消息,粉丝用户获取,移动端html5支持回调授权access_token); 支持钉钉平台接口(目前已支持大部分功能),支持钉钉H5微...

空空如也

空空如也

1 2 3
收藏数 41
精华内容 16
关键字:

钉钉自定义模板