Run Command Linux as a Systemd Service
Membuat service systemd untuk Node Exporter: menyiapkan binary, menulis unit file, reload daemon, dan mengaktifkan service saat boot.
Kadang kala beberapa command Linux yang kita install tidak tersedia secara default sebagai service. Saya ambil contoh, Node Exporter
Untuk penjelasan lebih detail tentang Node Exporter saya akan jelaskan di tulisan selanjutnya.
Jadi untuk mengatasi hal ini, kita perlu membuat service command itu sendiri.
Untuk contoh ini kita buat service yang simple dulu.
Pertama siapkan dulu command yang akan dijadikan sebagai service, lalu pindahkan command ke direktori /usr/local/bin/
$ sudo mv /home/user/node_exporter /usr/local/bin/node_exporterLalu buat file service nya.
$ sudo tee /etc/systemd/system/node_exporter.service <<EOF[Unit]Description=Node Exporter service
[Service]Type=simpleExecStart=/usr/local/bin/node_exporter
[Install]WantedBy=multi-user.targetEOFSetelah itu, kita perlu reload daemon service agar file service tadi dapat terupdate.
$ systemctl daemon-reloadCoba jalankan enable dan run service node_exporter.
$ systemctl start node_exporter$ systemctl enable node_exporter$ systemctl status node_exporter● node_exporter.service - Node Exporter service Loaded: loaded (/usr/lib/systemd/system/node_exporter.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2021-11-16 04:49:07 UTC; 1s ago Main PID: 1934 (node_exporter) CGroup: /system.slice/node_exporter.service └─1934 /usr/local/bin/node_exporter
Nov 16 04:49:07 localhost.localdomain node_exporter[1934]: level=info ts=2021-11-16T04:49:07.043Z caller=node_exporter.go:115 collector=thermal_zoneNov 16 04:49:07 localhost.localdomain node_exporter[1934]: level=info ts=2021-11-16T04:49:07.043Z caller=node_exporter.go:115 collector=timeNov 16 04:49:07 localhost.localdomain node_exporter[1934]: level=info ts=2021-11-16T04:49:07.043Z caller=node_exporter.go:115 collector=timexNov 16 04:49:07 localhost.localdomain node_exporter[1934]: level=info ts=2021-11-16T04:49:07.043Z caller=node_exporter.go:115 collector=udp_queuesNov 16 04:49:07 localhost.localdomain node_exporter[1934]: level=info ts=2021-11-16T04:49:07.043Z caller=node_exporter.go:115 collector=unameNov 16 04:49:07 localhost.localdomain node_exporter[1934]: level=info ts=2021-11-16T04:49:07.043Z caller=node_exporter.go:115 collector=vmstatNov 16 04:49:07 localhost.localdomain node_exporter[1934]: level=info ts=2021-11-16T04:49:07.043Z caller=node_exporter.go:115 collector=xfsNov 16 04:49:07 localhost.localdomain node_exporter[1934]: level=info ts=2021-11-16T04:49:07.043Z caller=node_exporter.go:115 collector=zfsNov 16 04:49:07 localhost.localdomain node_exporter[1934]: level=info ts=2021-11-16T04:49:07.043Z caller=node_exporter.go:199 msg="Listening on" address=:9100Nov 16 04:49:07 localhost.localdomain node_exporter[1934]: level=info ts=2021-11-16T04:49:07.044Z caller=tls_config.go:191 msg="TLS is disabled." http2=falseUntuk pengetesan selanjutnya, coba reboot server dan cek kembali apakah service sudah enabled atau autorun?