内容目录
1.下载解压安装
wget https://github.com/grafana/loki/releases/download/v2.8.11/promtail-linux-amd64.zip
#没有unzip 执行 yum install -y unzip
unzip promtail-linux-amd64.zip
mv promtail-linux-amd64 /usr/local/bin/promtail
2.编辑配置文件
mkdir -pv /etc/promtail
cat >/etc/promtail/promtail.yml <<EOF
# Promtail配置文件说明:
# - 此配置文件用于配置Promtail服务,用于收集和发送日志数据至Loki。
# - 下面详细描述了每个参数的作用。
server:
# http_listen_port:指定Promtail服务器监听的HTTP端口。
# 设置为0表示随机选择一个可用端口。
http_listen_port: 0
# grpc_listen_port:指定Promtail服务器监听的gRPC端口。
# 同样地,设置为0表示随机选择一个可用端口。
grpc_listen_port: 0
positions:
# filename:指定记录日志位置同步信息的文件路径。
# Promtail使用此文件记录日志读取的位置,以便在重启后恢复到正确的位置。
filename: /etc/promtail/positions.yaml
# sync_period:指定同步日志位置的时间间隔。
# 每隔指定的时间间隔,Promtail将当前的日志位置信息写入到filename指定的位置。
sync_period: 10s
clients:
# url用于指定Loki服务的地址,用于将日志数据发送到Loki。
# 在此示例中,Promtail将日志数据发送到http://loki:3100/loki/api/v1/push。
- url: http://loki:3100/loki/api/v1/push
scrape_configs:
# 第一个日志抓取作业
- job_name: project1_cn
static_configs:
- targets:
- localhost
labels:
job: 日志服务1 # 作业名称
app: 项目1 # 应用程序名称
__path__: /project1_path/logs/*log # 指定project1的日志文件路径。
# 第二个日志抓取作业
- job_name: project2_hk
static_configs:
- targets:
- localhost
labels:
job: 日志服务2 # 作业名称
app: 项目2 # 应用程序名称
__path__: /project2_path/logs/*.log # 指定project2的日志文件路径。
EOF
添加开机启动项
要为CentOS 7编写一个开机启动项以支持stop
, start
, restart
操作,你需要创建一个Systemd服务单元。下面是一个示例Systemd服务单元的配置文件,你可以根据你的需求进行修改:
- 首先,创建一个新的Systemd服务单元文件。你可以使用任何文本编辑器,如
vi
或nano
。比如,我们将文件命名为promtail.service
:
sudo vi /etc/systemd/system/promtail.service
- 在编辑器中,输入以下内容:
[Unit]
Description=Promtail service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/promtail -config.file=/etc/promtail/promtail.yml
Restart=always
[Install]
WantedBy=multi-user.target
这个配置文件包含了三个主要部分:
[Unit]
:提供了有关服务的基本描述信息,如描述和依赖关系。[Service]
:定义了服务的具体行为,包括服务的类型、启动命令和重启策略。[Install]
:指定了服务的安装位置,比如multi-user.target,表示在多用户环境下启动。
-
保存并关闭文件。
-
现在,你可以使用以下命令来启动、停止、重启服务:
- 启动服务:
sudo systemctl start promtail
- 停止服务:
sudo systemctl stop promtail
- 重启服务:
sudo systemctl restart promtail
- 启动服务:
-
你也可以设置在系统启动时自动启动该服务:
sudo systemctl enable promtail
这样,在系统启动时,服务就会自动启动。
- 最后,你可以使用
status
命令检查服务的状态:
sudo systemctl status promtail
以上就是在CentOS 7中创建一个支持stop
, start
, restart
操作的Systemd服务单元的步骤。
近期评论