alertmanager 启动
alertmanager 服务配置文件
alertmanager.service服务配置文件执行参数ExecStart
说明:
ExecStart=/data/alertmanager/alertmanager
alertmanager二进制文件存放路径;
--storage.path=/data/alertmanager/data/
alertmanager数据存储路径;
--config.file=/data/alertmanager/alertmanager.yml
alertmanager告警配置文件路径。
其他配置参数使用说明可通过执行/data/alertmanager/alertmanager --help
查看,然后根据需求修改或追加参数。
启动失败code=exited, status=217/USER
原因是没有找到配置文件中的User
对应的prometheus
,可以在/etc/passwd
文件中查看所有的用户信息。
修改alertmanager.service文件中User
字段为已有的用户名(如:root
)后,重启alertmanager成功。
添加.service
配置文件后,启动服务一般步骤:
- systemctl daemon-reload
- systemctl start alertmanager
如果需要配置开机启动:
- systemctl enable alertmanager
systemd.service 参数说明
以docker.service为例
1 [Unit]
2 Description=Docker Application Container Engine
3 Documentation=http://docs.docker.com
4 After=network.target
5 Wants=docker-storage-setup.service
6 Requires=docker-cleanup.timer
7
8 [Service]
9 Type=notify
10 NotifyAccess=main
11 EnvironmentFile=-/run/containers/registries.conf
12 EnvironmentFile=-/etc/sysconfig/docker
13 EnvironmentFile=-/etc/sysconfig/docker-storage
14 EnvironmentFile=-/etc/sysconfig/docker-network
15 Environment=GOTRACEBACK=crash
16 Environment=DOCKER_HTTP_HOST_COMPAT=1
17 Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
18 ExecStart=/usr/bin/dockerd-current \
19 --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
20 --default-runtime=docker-runc \
21 --exec-opt native.cgroupdriver=systemd \
22 --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
23 --init-path=/usr/libexec/docker/docker-init-current \
24 --seccomp-profile=/etc/docker/seccomp.json \
25 $OPTIONS \
26 $DOCKER_STORAGE_OPTIONS \
27 $DOCKER_NETWORK_OPTIONS \
28 $ADD_REGISTRY \
29 $BLOCK_REGISTRY \
30 $INSECURE_REGISTRY \
31 $REGISTRIES
32 ExecReload=/bin/kill -s HUP $MAINPID
33 LimitNOFILE=1048576
34 LimitNPROC=1048576
35 LimitCORE=infinity
36 TimeoutStartSec=0
37 Restart=on-abnormal
38 KillMode=process
39
40 [Install]
41 WantedBy=multi-user.target
[Unit]
作用:启动顺序与依赖关系
Description
当前服务的描述。Documentation
当前服务的文档位置,或查看文档的方式。After
如果服务(如:network.target
)需要重启,则当前服务在其启动之后启动;Before
与之相反。Wants
弱依赖,即依赖不影响当前服务的继续运行。Requires
强依赖,即依赖启动失败或异常退出,当前服务也退出。
[Service]
作用:定义启动行为
Type
启动类型。可选值有:simple
默认值(当设置了ExecStart
,但没有设置Type
和BusName
时),ExecStart
字段启动的进程为主进程;notify
启动完成后发出通知,Systemd
再启动其他服务;其他可选值如:exec
、forking
、oneshot
、dbus
、idle
。NotifyAccess
访问服务状态通知套接字的模式。可选值有:none
、main
、exec
、all
。main
表示仅接受主进程的状态更新消息;当设置Type=notify
时,此选项只能为非none
值,如果未设置,或设置为none
,将被自动强制修改为main
。EnvironmentFile
指定当前服务的环境变量文件,可在当前配置文件中使用$key访问环境变量文件中的key=value键值对。可在路径前加上-
前缀表示忽略不存在的文件。 可以多次使用此选项,以从多个不同的文件中读取设置。 若设为空,则表示清空 所有先前已经从文件中读取的环境变量。Environment
设置进程的环境变量, 接受一个空格分隔的key=value列表。ExecStart
除非Type=oneshot
,否则必须且只能设置一个命令行。命令行必须以一个可执行文件(要么是绝对路径、要么是不含任何斜线的文件名)开始, 并且其后的那些参数将依次作为argv[1] argv[2] …
传递给被执行的进程。ExecReload
设置当该服务被要求重新载入配置时所执行的命令行。 语法规则与ExecStart
完全相同。LimitNOFILE
以Limit
开头的字段用于设置进程的各种软/硬资源限制。此项表示文件描述符的数量。LimitNPROC
进程的数量。LimitCORE
程序崩溃时生成的core文件的大小,infinity
表示没有限制。TimeoutStartSec
设置该服务允许的最大启动时长。Restart
当服务进程正常退出、异常退出、被杀死、超时的时候,是否重新启动该服务。可选值有:no
、on-success
、on-failure
、on-abnormal
、on-watchdog
、on-abort
和always
。KillMode
设置在单元停止时,杀死进程的方法。可选值有:control-group
、process
、mixed
和none
。process
表示仅杀死主进程。
[Install]
作用:定义如何安装该配置文件,用于设置开机启动。
WantedBy
接受一个空格分隔的单元列表, 表示在使用systemctl enable
启用此单元时, 将会在每个列表单元的.wants/
或.requires/
目录中创建一个指向该单元文件的软连接。