【prometheus-alert】prometheus-alert的安装

目录

 1、下载镜像

2、配置文件 

3、启动容器 

4、测试验证安装 


前言:使用prometheus-alert+prometheus+alertmanager来进行告警,这里主要讲解怎么安装prometheus-alert

 1、下载镜像

docker pull feiyu563/prometheus-alert:v4.9.1

如果下载不了,使用魔法,我是导入镜像的,最近封了docker了

2、配置文件 

mkdir /opt/prometheus-alert
vi app.conf

# 输入选配置文件内容

官方下载地址:https://github.com/feiyu563/PrometheusAlert/blob/master/conf/app-example.conf

#---------------------↓全局配置-----------------------
appname = PrometheusAlert
#登录用户名
login_user=prometheusalert
#登录密码
login_password=prometheusalert
#监听地址
httpaddr = "0.0.0.0"
#监听端口
httpport = 8080
runmode = dev
#设置代理 proxy = http://123.123.123.123:8080
proxy =
#开启JSON请求
copyrequestbody = true
#告警消息标题
title=PrometheusAlert
#链接到告警平台地址
GraylogAlerturl=http://graylog.org
#钉钉告警 告警logo图标地址
logourl=https://raw.githubusercontent.com/feiyu563/PrometheusAlert/master/doc/images/alert-center.png
#钉钉告警 恢复logo图标地址
rlogourl=https://raw.githubusercontent.com/feiyu563/PrometheusAlert/master/doc/images/alert-center.png
#短信告警级别(等于3就进行短信告警) 告警级别定义 0 信息,1 警告,2 一般严重,3 严重,4 灾难
messagelevel=3
#电话告警级别(等于4就进行语音告警) 告警级别定义 0 信息,1 警告,2 一般严重,3 严重,4 灾难
phonecalllevel=4
#默认拨打号码(页面测试短信和电话功能需要配置此项)
defaultphone=xxxxxxxx
#故障恢复是否启用电话通知0为关闭,1为开启
phonecallresolved=0
#是否前台输出file or console
logtype=file
#日志文件路径
logpath=logs/prometheusalertcenter.log
#转换Prometheus,graylog告警消息的时区为CST时区(如默认已经是CST时区,请勿开启)
prometheus_cst_time=0
#数据库驱动,支持sqlite3,mysql,postgres如使用mysql或postgres,请开启db_host,db_port,db_user,db_password,db_name的注释
db_driver=sqlite3
#db_host=127.0.0.1
#db_port=3306
#db_user=root
#db_password=root
#db_name=prometheusalert
#是否开启告警记录 0为关闭,1为开启
AlertRecord=0
#是否开启告警记录定时删除 0为关闭,1为开启
RecordLive=0
#告警记录定时删除周期,单位天
RecordLiveDay=7
# 是否将告警记录写入es7,0为关闭,1为开启
alert_to_es=0
# es地址,是[]string
# beego.Appconfig.Strings读取配置为[]string,使用";"而不是","
to_es_url=http://localhost:9200
# to_es_url=http://es1:9200;http://es2:9200;http://es3:9200
# es用户和密码
# to_es_user=username
# to_es_pwd=password
# 长连接最大空闲数
maxIdleConns=100
# 热更新配置文件
open-hotreload=0

#---------------------↓webhook-----------------------
#是否开启钉钉告警通道,可同时开始多个通道0为关闭,1为开启
open-dingding=1
#默认钉钉机器人地址
ddurl=https://oapi.dingtalk.com/robot/send?access_token=xxxxx
#是否开启 @所有人(0为关闭,1为开启)
dd_isatall=1
#是否开启钉钉机器人加签,0为关闭,1为开启
# 使用方法:https://oapi.dingtalk.com/robot/send?access_token=XXXXXX&secret=mysecret
open-dingding-secret=0

#是否开启微信告警通道,可同时开始多个通道0为关闭,1为开启
open-weixin=1
#默认企业微信机器人地址
wxurl=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxx

#是否开启飞书告警通道,可同时开始多个通道0为关闭,1为开启
open-feishu=1
#默认飞书机器人地址
fsurl=https://open.feishu.cn/open-apis/bot/hook/xxxxxxxxx
# webhook 发送 http 请求的 contentType, 如 application/json, application/x-www-form-urlencoded,不配置默认 application/json
wh_contenttype=application/json

#---------------------↓腾讯云接口-----------------------
#是否开启腾讯云短信告警通道,可同时开始多个通道0为关闭,1为开启
open-txdx=0
#腾讯云短信接口key
TXY_DX_appkey=xxxxx
#腾讯云短信模版ID 腾讯云短信模版配置可参考 prometheus告警:{1}
TXY_DX_tpl_id=xxxxx
#腾讯云短信sdk app id
TXY_DX_sdkappid=xxxxx
#腾讯云短信签名 根据自己审核通过的签名来填写
TXY_DX_sign=腾讯云

#是否开启腾讯云电话告警通道,可同时开始多个通道0为关闭,1为开启
open-txdh=0
#腾讯云电话接口key
TXY_DH_phonecallappkey=xxxxx
#腾讯云电话模版ID
TXY_DH_phonecalltpl_id=xxxxx
#腾讯云电话sdk app id
TXY_DH_phonecallsdkappid=xxxxx

#---------------------↓华为云接口-----------------------
#是否开启华为云短信告警通道,可同时开始多个通道0为关闭,1为开启
open-hwdx=0
#华为云短信接口key
HWY_DX_APP_Key=xxxxxxxxxxxxxxxxxxxxxx
#华为云短信接口Secret
HWY_DX_APP_Secret=xxxxxxxxxxxxxxxxxxxxxx
#华为云APP接入地址(端口接口地址)
HWY_DX_APP_Url=https://rtcsms.cn-north-1.myhuaweicloud.com:10743
#华为云短信模板ID
HWY_DX_Templateid=xxxxxxxxxxxxxxxxxxxxxx
#华为云签名名称,必须是已审核通过的,与模板类型一致的签名名称,按照自己的实际签名填写
HWY_DX_Signature=华为云
#华为云签名通道号
HWY_DX_Sender=xxxxxxxxxx

#---------------------↓阿里云接口-----------------------
#是否开启阿里云短信告警通道,可同时开始多个通道0为关闭,1为开启
open-alydx=0
#阿里云短信主账号AccessKey的ID
ALY_DX_AccessKeyId=xxxxxxxxxxxxxxxxxxxxxx
#阿里云短信接口密钥
ALY_DX_AccessSecret=xxxxxxxxxxxxxxxxxxxxxx
#阿里云短信签名名称
ALY_DX_SignName=阿里云
#阿里云短信模板ID
ALY_DX_Template=xxxxxxxxxxxxxxxxxxxxxx

#是否开启阿里云电话告警通道,可同时开始多个通道0为关闭,1为开启
open-alydh=0
#阿里云电话主账号AccessKey的ID
ALY_DH_AccessKeyId=xxxxxxxxxxxxxxxxxxxxxx
#阿里云电话接口密钥
ALY_DH_AccessSecret=xxxxxxxxxxxxxxxxxxxxxx
#阿里云电话被叫显号,必须是已购买的号码
ALY_DX_CalledShowNumber=xxxxxxxxx
#阿里云电话文本转语音(TTS)模板ID
ALY_DH_TtsCode=xxxxxxxx

#---------------------↓容联云接口-----------------------
#是否开启容联云电话告警通道,可同时开始多个通道0为关闭,1为开启
open-rlydh=0
#容联云基础接口地址
RLY_URL=https://app.cloopen.com:8883/2013-12-26/Accounts/
#容联云后台SID
RLY_ACCOUNT_SID=xxxxxxxxxxx
#容联云api-token
RLY_ACCOUNT_TOKEN=xxxxxxxxxx
#容联云app_id
RLY_APP_ID=xxxxxxxxxxxxx

#---------------------↓邮件配置-----------------------
#是否开启邮件
open-email=0
#邮件发件服务器地址
Email_host=smtp.qq.com
#邮件发件服务器端口
Email_port=465
#邮件帐号
Email_user=xxxxxxx@qq.com
#邮件密码
Email_password=xxxxxx
#邮件标题
Email_title=运维告警
#默认发送邮箱
Default_emails=xxxxx@qq.com,xxxxx@qq.com

#---------------------↓七陌云接口-----------------------
#是否开启七陌短信告警通道,可同时开始多个通道0为关闭,1为开启
open-7moordx=0
#七陌账户ID
7MOOR_ACCOUNT_ID=Nxxx
#七陌账户APISecret
7MOOR_ACCOUNT_APISECRET=xxx
#七陌账户短信模板编号
7MOOR_DX_TEMPLATENUM=n
#注意:七陌短信变量这里只用一个var1,在代码里写死了。
#-----------
#是否开启七陌webcall语音通知告警通道,可同时开始多个通道0为关闭,1为开启
open-7moordh=0
#请在七陌平台添加虚拟服务号、文本节点
#七陌账户webcall的虚拟服务号
7MOOR_WEBCALL_SERVICENO=xxx
# 文本节点里被替换的变量,我配置的是text。如果被替换的变量不是text,请修改此配置
7MOOR_WEBCALL_VOICE_VAR=text

#---------------------↓telegram接口-----------------------
#是否开启telegram告警通道,可同时开始多个通道0为关闭,1为开启
open-tg=0
#tg机器人token
TG_TOKEN=xxxxx
#tg消息模式 个人消息或者频道消息 0为关闭(推送给个人),1为开启(推送给频道)
TG_MODE_CHAN=0
#tg用户ID
TG_USERID=xxxxx
#tg频道name或者id, 频道name需要以@开始
TG_CHANNAME=xxxxx
#tg api地址, 可以配置为代理地址
#TG_API_PROXY="https://api.telegram.org/bot%s/%s"
#TG_PARSE_MODE设置为 "1" ,启用Markdown
TG_PARSE_MODE = "0"

#---------------------↓workwechat接口-----------------------
#是否开启workwechat告警通道,可同时开始多个通道0为关闭,1为开启
open-workwechat=0
# 企业ID
WorkWechat_CropID=xxxxx
# 应用ID
WorkWechat_AgentID=xxxx
# 应用secret
WorkWechat_AgentSecret=xxxx
# 接受用户
WorkWechat_ToUser="zhangsan|lisi"
# 接受部门
WorkWechat_ToParty="ops|dev"
# 接受标签
WorkWechat_ToTag=""
# 消息类型, 暂时只支持markdown
# WorkWechat_Msgtype = "markdown"

#---------------------↓百度云接口-----------------------
#是否开启百度云短信告警通道,可同时开始多个通道0为关闭,1为开启
open-baidudx=0
#百度云短信接口AK(ACCESS_KEY_ID)
BDY_DX_AK=xxxxx
#百度云短信接口SK(SECRET_ACCESS_KEY)
BDY_DX_SK=xxxxx
#百度云短信ENDPOINT(ENDPOINT参数需要用指定区域的域名来进行定义,如服务所在区域为北京,则为)
BDY_DX_ENDPOINT=http://smsv3.bj.baidubce.com
#百度云短信模版ID,根据自己审核通过的模版来填写(模版支持一个参数code:如prometheus告警:{code})
BDY_DX_TEMPLATE_ID=xxxxx
#百度云短信签名ID,根据自己审核通过的签名来填写
TXY_DX_SIGNATURE_ID=xxxxx

#---------------------↓百度Hi(如流)-----------------------
#是否开启百度Hi(如流)告警通道,可同时开始多个通道0为关闭,1为开启
open-ruliu=0
#默认百度Hi(如流)机器人地址
BDRL_URL=https://api.im.baidu.com/api/msg/groupmsgsend?access_token=xxxxxxxxxxxxxx
#百度Hi(如流)群ID
BDRL_ID=123456
#---------------------↓bark接口-----------------------
#是否开启telegram告警通道,可同时开始多个通道0为关闭,1为开启
open-bark=0
#bark默认地址, 建议自行部署bark-server
BARK_URL=https://api.day.app
#bark key, 多个key使用分割
BARK_KEYS=xxxxx
# 复制, 推荐开启
BARK_COPY=1
# 历史记录保存,推荐开启
BARK_ARCHIVE=1
# 消息分组
BARK_GROUP=PrometheusAlert

#---------------------↓语音播报-----------------------
#语音播报需要配合语音播报插件才能使用
#是否开启语音播报通道,0为关闭,1为开启
open-voice=1
VOICE_IP=127.0.0.1
VOICE_PORT=9999

#---------------------↓飞书机器人应用-----------------------
#是否开启feishuapp告警通道,可同时开始多个通道0为关闭,1为开启
open-feishuapp=1
# APPID
FEISHU_APPID=cli_xxxxxxxxxxxxx
# APPSECRET
FEISHU_APPSECRET=xxxxxxxxxxxxxxxxxxxxxx
# 可填飞书 用户open_id、user_id、union_ids、部门open_department_id
AT_USER_ID="xxxxxxxx"


#---------------------↓告警组-----------------------
# 有其他新增的配置段,请放在告警组的上面
# 暂时仅针对 PrometheusContronller 中的 /prometheus/alert 路由
# 告警组如果放在了 wx, dd... 那部分的上分,beego section 取 url 值不太对。
# 所以这里使用 include 来包含另告警组配置

# 是否启用告警组功能
open-alertgroup=0

# 自定义的告警组既可以写在这里,也可以写在单独的文件里。
# 写在单独的告警组配置里更便于修改。
# include "alertgroup.conf"

#---------------------↓kafka地址-----------------------
# kafka服务器的地址
open-kafka=1
kafka_server = 127.0.0.1:9092
# 写入消息的kafka topic
kafka_topic = devops
# 用户标记该消息是来自PrometheusAlert,一般无需修改
kafka_key = PrometheusAlert

3、启动容器 

docker run -d \
-p 6080:8080 --restart=always   --name feiyu563-prometheus-alert\
 -v /opt/prometheus-alert:/app/conf \
-v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime:ro \
-e PA_LOGIN_USER=prometheusalert \
-e PA_LOGIN_PASSWORD=prometheusalert \
-e PA_TITLE=PrometheusAlert \
-e PA_OPEN_FEISHU=1 \
-e PA_OPEN_DINGDING=1 \
-e PA_OPEN_WEIXIN=1 \
feiyu563/prometheus-alert:v4.9.1

4、测试验证安装 

curl localhost:6080


浏览器输入IP:6080,出现登录界面,初始账号:prometheusalert/prometheusalert,该账号可以在上面的app.conf里配置 

<think>首先,用户的问题是:“请问OBS桶访问 使用AK SK 配置方法”。这涉及到使用Access Key(AK)和Secret Key(SK)来访问华为云的OBS桶。 从系统指令中,我需要: - 使用中文回答。 - 结构清晰,帮助用户逐步解决问题。 - 保证回答真实可靠。 - 在回答中引用的段落末尾自然地添加引用标识。 - 生成相关问题。 - 对于数学表达式,使用$...$或$$...$$格式,但这里可能不涉及数学内容,所以可能不需要。 - 参考提供的引用内容。 提供的引用包括: - [^1]: 关于在Windows和Linux下使用ObsClient时内存溢出的问题。 - [^2]: 华为云创建访问密钥(AK和SK)的说明。 - [^3]: 一个Python代码示例,用于签名。 - [^4]: 华为云OBS桶授权登录链接。 用户意图是获取关于OBS桶访问使用AK和SK的配置方法。所以,我需要基于这些引用,提供一个清晰的步骤指南。 关键点: - AK和SK是用于身份验证的凭证。 - 引用[2]提到如何在华为云创建AK和SK。 - 引用[3]展示了一个签名示例,但用户可能不需要代码,除非他们问。 - 引用[1]和[4]提供了一些上下文。 回答结构: 1. **介绍**:简要解释AK和SK是什么,以及它们在OBS访问中的作用。 2. **步骤**:逐步说明如何配置AK和SK来访问OBS桶。 - 创建AK和SK(参考引用[2])。 - 使用AK和SK在代码中配置ObsClient(参考引用[1])。 - 可能涉及签名过程(参考引用[3])。 3. **代码示例**:提供一个简单的代码示例,展示如何初始化ObsClient。 4. **注意事项**:提到引用[1]中提到的内存溢出问题,以避免常见错误。 5. **结尾**:自然地添加引用标识。 6. **生成相关问题**:在最后添加相关问题。 由于用户指定了“配置方法”,我应该专注于配置步骤。 步骤大纲: 1. **创建AK和SK**:从华为云控制台创建访问密钥。 2. **配置环境**:确保AK、SK和Endpoint正确。 3. **代码实现**:在应用程序中使用ObsClient初始化。 4. **测试和验证**:运行代码并检查是否正常工作。 代码示例:使用Python或Java,因为引用[1]提到ObsClient,可能是Java或Python。 引用[1]中的代码是Java的:`ObsClient obs = new ObsClient(AK, SK, ENDPOINT);` 引用[3]是Python的签名示例。 我应该提供Java和Python的示例,以覆盖常见语言。 在回答中,引用标识: - 当提到创建AK和SK时,添加[^2]。 - 当提到ObsClient初始化时,添加[^1]。 - 当提到签名时,添加[^3]。 - 当提到OBS桶授权时,添加[^4]。 生成相关问题:基于主题,提出相关问题,如: 1. 如何管理多个AK/SK凭证? 2. OBS访问的安全最佳实践? 3. 如何处理内存溢出问题(如引用[1])? 4. OBS桶的其他访问方法? 确保回答真实可靠:基于提供的引用和一般知识。华为云文档是可靠的来源。 最终回答结构: - 标题:OBS桶访问使用AK和SK的配置方法 - 步骤说明 - 代码示例 - 注意事项 - 引用标识 - 相关问题</think>### OBS桶访问使用AK和SK的配置方法 华为云对象存储服务(OBS)通过访问密钥(AK和SK)提供安全的身份验证机制,用于管理或访问OBS桶。AK(Access Key ID)是公开标识,SK(Secret Access Key)是私密凭证,必须妥善保管。以下是基于华为云官方文档的逐步配置方法,确保真实可靠。整个过程分为创建密钥、配置环境和代码实现三个步骤。 #### 步骤1: 创建AK和SK 在华为云控制台生成AK和SK,这是访问OBS桶的基础凭证。操作步骤如下: 1. 登录华为云控制台([https://console.huaweicloud.com/](https://console.huaweicloud.com/))。 2. 导航到“我的凭证” > “访问密钥”,点击“新增访问密钥”。 3. 输入凭证名称(建议格式如“OBS-账号名”,便于管理多个密钥),然后下载或复制生成的AK和SK。 - 注意:SK仅在创建时显示一次,需立即保存,否则需重新生成[^2]。 4. 确保AK和SK权限已关联到目标OBS桶(通过“统一身份认证服务”授权桶访问策略)[^4]。 #### 步骤2: 配置环境 在使用AK和SK前,需在代码环境中设置以下参数: - **AK**:您的Access Key ID。 - **SK**:您的Secret Access Key。 - **ENDPOINT**:OBS桶的终端节点(Endpoint),格式为`https://obs.region-id.myhuaweicloud.com`(替换`region-id`为实际区域,如`cn-north-4`)。 - 确保开发环境依赖库正确安装(如Java需`esdk-obs-java`包,Python需`esdk-obs-python`包)。 注意事项: - 在Linux环境下,需检查内存管理(如JVM堆大小),避免因资源泄漏导致内存溢出(参考常见问题[^1])。 - AK/SK不应硬编码在代码中,建议使用环境变量或配置文件存储。 #### 步骤3: 代码实现 根据您的开发语言,初始化ObsClient以访问OBS桶。以下是Java和Python的示例代码: ##### Java示例 使用`ObsClient`类初始化,并执行简单操作(如列出桶内对象): ```java import com.obs.services.ObsClient; import com.obs.services.model.ObjectListing; public class OBSSample { public static void main(String[] args) { String ak = "您的AK"; // 替换为实际AK String sk = "您的SK"; // 替换为实际SK String endpoint = "https://obs.cn-north-4.myhuaweicloud.com"; // 替换为实际Endpoint try (ObsClient obsClient = new ObsClient(ak, sk, endpoint)) { // 示例:列出默认桶内对象 ObjectListing objectListing = obsClient.listObjects("your-bucket-name"); System.out.println("Objects in bucket: " + objectListing.getObjects()); } catch (Exception e) { e.printStackTrace(); } } } ``` - **说明**:此代码在Windows和Linux均适用,但Linux需监控内存使用(如通过`-Xmx`参数限制JVM堆大小)[^1]。 ##### Python示例 使用`ObsClient`初始化,并生成请求签名(签名过程可简化访问): ```python from obs import ObsClient # 初始化ObsClient ak = '您的AK' # 替换为实际AK sk = '您的SK' # 替换为实际SK endpoint = 'https://obs.cn-north-4.myhuaweicloud.com' # 替换为实际Endpoint obs_client = ObsClient(access_key_id=ak, secret_access_key=sk, server=endpoint) # 示例:上传文件到OBS桶 resp = obs_client.putFile('your-bucket-name', 'object-key', 'local-file-path') if resp.status < 300: print("Upload successful!") else: print("Error:", resp.errorMessage) ``` - **签名说明**:对于复杂请求(如POST上传),需基于SK生成签名(参考签名算法[^3]),但ObsClient SDK已内置签名逻辑,通常无需手动处理。 #### 注意事项 - **安全最佳实践**:AK/SK应定期轮换,避免泄露。测试时使用临时凭证。 - **跨平台兼容性**:代码在Windows和Linux运行时,确保依赖库版本一致(如Java SDK在Linux需额外监控内存)[^1]。 - **错误处理**:常见错误包括无效Endpoint或SK泄露,可通过华为云日志服务排查。 - **参考文档**:更多详情见华为云OBS开发指南([https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0401.html](https://support.huaweicloud.com/sdk-python-devg-obs/obs_22_0401.html))。 通过以上步骤,您可快速配置AK/SK访问OBS桶。如需进一步帮助,请提供具体语言或场景细节[^2][^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春天的菠菜

一毛两毛也是动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值