Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save calebjonasson/cdba854f348da661e7b8394c70189bf9 to your computer and use it in GitHub Desktop.
Save calebjonasson/cdba854f348da661e7b8394c70189bf9 to your computer and use it in GitHub Desktop.
Howto install Promtail on Proxmox
#!/usr/bin/bash
# Promtail on proxmox.
# [Fork from candoom](https://gist.github.com/candoom/c540300bcde25c3e0d796b085f0417f4)
echo 'downloading latest promtail-linux-amd64 from github.'
wget https://github.com/grafana/loki/releases/latest/download/promtail-linux-amd64.zip
if ! command -v unzip promtail-linux-amd64.zip -d /usr/local/bin/ &> /dev/null;
then
echo 'unzip is required. command not found. <yum|apt> install unzip';
exit;
fi;
ln -s /usr/local/bin/promtail-linux-amd64 /usr/local/bin/promtail
echo 'cleanup old zip file.'
rm promtail-linux-amd64.zip
echo 'create promtail user'
useradd --system promtail --shell /usr/sbin/nologin
gpasswd -a promtail adm
echo 'creating local configuration file in /usr/local/etc/'
touch promtail-config.yml
echo 'server:' >> promtail-config.yml
echo ' disable: true' >> promtail-config.yml
echo 'positions:' >> promtail-config.yml
echo ' filename: /tmp/promtrail-positions.yaml' >> promtail-config.yml
echo 'clients:' >> promtail-config.yml
echo ' - url: 'http://localhost:3100/loki/api/v1/push'' >> promtail-config.yml
echo 'scrape_configs:' >> promtail-config.yml
echo ' - job_name: system' >> promtail-config.yml
echo ' static_configs:' >> promtail-config.yml
echo ' - targets:' >> promtail-config.yml
echo ' - localhost' >> promtail-config.yml
echo ' labels:' >> promtail-config.yml
echo ' job: varlogs' >> promtail-config.yml
# Requires `--config.expand-env=true` to be added to the service. exec start path.
# See: https://grafana.com/docs/loki/latest/configuration/#use-environment-variables-in-the-configuration
#echo ' hostname: ${HOSTNAME}' >> promtail-config.yml
echo ' __path__: /var/log/*log' >> promtail-config.yml
mv promtail-config.yml /usr/local/etc/promtail-config.yml
echo 'creating promtail service file'
touch promtail.service
echo '[Unit]' >> promtail.service
echo 'Description=Promtail service' >> promtail.service
echo 'After=network.target' >> promtail.service
echo '[Service]' >> promtail.service
echo 'Type=simple' >> promtail.service
echo 'User=promtail' >> promtail.service
echo 'ExecStart=/usr/local/bin/promtail -config.file /usr/local/etc/promtail-config.yml' >> promtail.service
echo '[Install]' >> promtail.service
echo 'WantedBy=multi-user.target' >> promtail.service
mv promtail.service /etc/systemd/system/.
systemctl daemon-reload
systemctl start promtail.service
systemctl status promtail.service
systemctl enable promtail.service
echo 'configuration location: /usr/local/etc/promtail-config.yml'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment