Showing posts with label networking. Show all posts
Showing posts with label networking. Show all posts

Menjalankan gitlab runner menggunakan docker

Tutorial ini merupakan catatan belajar saya dalam menggunakan GitLab CI/CD dan Docker.

Gitlab Runner adalah sebuah service yang digunakan untuk menjalankan job dan mengirimkan hasilnya kembali ke GitLab.. Shared runner sudah tersedia di Gitlab dan dapat digunakan gratis, tapi anda tetap dapat menghubungkan private runner anda ke gitlab jika kurang puas dengan Shared Runner yang disediakan.


Untuk menjalankan gitlab runner menggunakan docker gunakan perintah 

docker run -d --name gitlab-runner --restart always \

-v /var/run/docker.sock:/var/run/docker.sock \

-v /srv/gitlab-runner/config:/etc/gitlab-runner \

 -v /usr/bin/docker:/usr/bin/docker \

gitlab/gitlab-runner:latest


*Pastikan sudah terinstall docker


Melihat container yang ada di docker dengan perintah docker ps -a

Terlihat terdapat satu container yang berjalan dengan nama gitlab-runner




Untuk masuk ke dalam container gunakan perintah 

docker exec -it gitlab-runner bash




Untuk mendapatkan  URL dan Token yang akan didaftarkan di gitlab runner dan melihat

gitlab runner yang sudah terdaftar di server gitlab, dengan masuk ke halaman:

setting->CI/CD->Runner




Terdapat register runner dengan url dan token yang akan digunakan pada gitlab runner.

Untuk menghubungkan gitlab-runner dengan server gitlab gunakan perintah 

Gitlab-runner register maka akan menampilkan inputan:

Isian yang dimasukkan diambil dari halaman setting->CI/CD->Runner pada server gitlab yang telah dilihat sebelumnya. 

Terutama Gitlab install URL dan Registration token 


Jika tidak perlu masuk dalam container bisa menggunakan perintah:

docker exec gitlab-runner gitlab-runner register



Jika di server gitlab gitlab-runner belum jalan, lakukan verify gitlab runner dengan perintah:

docker exec gitlab-runner gitlab-runner verify


Sekarang gitlab runner di docker  kita sudah tersambung dengan server gitlab .


Untuk menjalankan gitlab runner yang sudah didaftarkan untuk  project  pastikan pilihan enable shared runners for this project didisable (dimatikan).


Note: jika saat menjalankan pipeline terdapat output error docker not found solusinya


1. Create docker group if not exist : sudo groupadd docker

2. Add user to docker group : sudo usermod -aG docker ${USER}

3. Change docker.sock to new permission : sudo chmod 666 /var/run/docker.sock

4. Finally restart docker daemon service : sudo systemctl restart docker



Instalasi prometheus dan grafana untuk monitoring

Untuk artikel kali ini penulis akan membuat artikel cara instalasi prometheus yang di combine dengan grafana untuk melakukan monitoring server, untuk kasus ini menggunakan server OS ubuntu. 


Langkah awal silahkan download file node-exporter di link berikut. Node-exporter merupakan perangkat lunak yang digunakan tepat di samping aplikasi yang ingin diperoleh matriksnya.

https://prometheus.io/docs/guides/node-exporter/


File node-exporter yang sudah di download.


Extract file yang sudah didownload dengan perintah tar


List file yang di extract,terdapat nama folder node_exporter pindahkan/copy ke 

folder /usr/local/bin.


Perintah untuk copy file/folder ke /usr/local/bin.

Membuat file .service sebagai contoh dibuatkan nama node-exporter.service di folder /etc/systemd/system


[Unit]

Description=Node Exporter

Wants=network-online-target

After=network-online-target


[Service]

User=ion

Group=root


Type=simple

ExecStart=/usr/local/bin/node_exporter


[Install]

WantedBy=multi-user.target


Untuk menjalankan service yang dibuatkan sebelumnya gunakan perintah systemctl start node-exporter.service


Untuk melihat status service apakah sudah berjalan gunakan perintah systemctl status node-exporter.service. Pastikan service statusnya running.


Untuk mengecek apa service node-exporter sudah berjalan dengan mengakses di browser url

http://localhost:9100/metrics


Atau bisa menggunakan terminal dengan perintah curl localhost:9100/metrics



Langkah selanjutnya instalasi prometheus di docker, prometheus merupakan sistem monitoring berbasis metriks.Download image Prometheus hal ini menggunakan versi 2.32.1 dengan perintah docker pull prom/prometheus:v2.32.1

Sekarang buatkan container prometheus dengan image yang sudah di download. Dengan perintah seperti berikut.

docker run -d --name prometheus --restart always --net host \

-v /home/ion/Downloads/prometheus/prometheus_config/:/etc/prometheus \

-v prometheus-data:/prometheus \

-v /etc/localtime:/etc/localtime:ro \

prom/prometheus:v2.32.1


Buat  file dalam folder sebagai contoh di /home/ion/Downloads/prometheus/prometheus_config dengan nama file prometheus.yaml isinya seperti dibawah.



scrape_configs:

  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.

  - job_name: 'prometheus'


    # metrics_path defaults to '/metrics'

    # scheme defaults to 'http'.


    static_configs:

     - targets: ['localhost:9090']


  - job_name: 'node'

    scrape_interval: 10s

    static_configs:

     - targets: ['localhost:9100']


Untuk mengecek container prometheus sudah berjalan dengan semestinya Akses menggunakan browser dengan url http://localhost:9090, jika berhasil tampilan akan seperti ini.


Langkah selanjutnya instalasi grafana di docker, grafana merupakan alat yang populer untuk membuat dashboard untuk berbagai sistem pemantauan dan non monitor, salah satu tools yang dapat digunakan untuk membuat dashboard saat menggunakan Prometheus. Download image grafana dengan perintah docker pull grafana/grafana:8.3.3


Sekarang membuat container grafana dengan image yang sudah di download. Dengan perintah seperti berikut.

docker run -d --net host --name grafana grafana/grafana:8.3.3


Untuk mengecek container grafana sudah berjalan dengan semestinya Akses menggunakan browser dengan url http://localhost:3000/login. jika berhasil maka akan muncul form login, secara default login menggunakan username dan password admin.


Menambahkan Data source

Masuk ke menu Configuration > Data Source > Add data source

Type > Prometheus







Link untuk melihat Template dashboard grafana.

grafana.com/grafana/dashboards/11074



Import template dashboard grafana

Tanda tambah > import


Isikan id yang didapatkan di link grafana.com/grafana/dashboards/11074 terus tekan tombol load disamping isian kolom.

Setelah tombol load di tekan maka akan muncul tampilan berikut, langsung tekan tombol import maka akan langsung di redirect ke halaman dashboard monitoring.

Tampilan halaman monitoring grafana


Sekian , Terimakasih

Menjalankan Winbox dengan wine pada linux

Bagi Pengguna linux untuk menjalankan aplikasi windows tidak mudah, salah satu cara untuk menjalankan aplikasi windows di linux bisa menggunakan wine. Pertama pastikan teman” sudah menginstall aplikasi paket wine.Untuk mengecek apakah wine sudah terinstall apa belum dengan mengetikkan wine --version.



Sebelum memulai pastikan kita memiliki 2 file yang sudah didownload yaitu aplikasi winbox.exe dan gambar Winbox.png, disini filenya saya simpan di folder KetikanMD. Untuk aplikasi winbox bisa di download melalui link ini.

https://mikrotik.com/download



  • Copy 2 file yang sudah didownload ke folder windows pada folder  instalasi wine



  • Pastikan kedua file sudah ada di folder windows


Sekarang kita coba menjalankan winbox tanpa harus berada dengan satu folder dengan aplikasi winbox.exe


  • Untuk  membuat pintasan yang memungkinkan aplikasi untuk dijalankan, kita buatkan file winbox.desktop di folder /usr/share/applications 




  • Membuat file winbox.desktop menggunakan nano, disini teman” bebas menggunakan editor yang teman” mengerti.


  • Berikut isian file winbox.Desktop





[Desktop Entry]
Name=Winbox
GenericName=Mikrotik winbox
TryExec=wine winbox
Exec=wine winbox.exe
Terminal=false
Icon=/home/ion/.wine/drive_c/windows/Winbox.png
Type=Application
Categories=Internet
Comment=Remote Mikrotik
Keywork=mikrotik;winbox

Jika semua langka diatas sudah dilakukan maka kita telah berhasil menjalankan aplikasi winbox.  

Cara instalasi Framework Django

 Kali ini ketikanMD akan membuat tutorial yang sesuai dengan judulnya yaitu instalasi Framework django.

1. Pastikan kita sudah menginstall python, untuk mengecek dengan perintah python --version

2. Sekarang kita akan melakukan install PIP, PIP yaitu (PIP Install Packages) / Paket manager pada pemrograman python.

# apt install python3-pip python-dev

3. Melakukan verifikasi instalasi PIP.

$ pip3 -V


4. Selanjutnya kita akan membuat folder  di “~/ketikanMD/” dengan nama “django” untuk menampung project django kita.

5. membuat Env (pastikan sudah berada di dalam folder project) dengan Module yang digunakan untuk membuat Virtual Environments yaitu module venv, kegunaan Virtual environments untuk membuat sebuah environment yang terisolasi dari dunia luar. Sehingga, modul python apapun yang diinstall tidak mempengaruhi environment global, dan yang terpenting, project lainnya. 
$ python -m venv env
* Terlihat ada folder dengan nama env

6. masuk/mangaktifkan Virtual Environment
$ source env/bin/activate
* Terlihat ada tanda (env) setalah mengeksekusi perintah diatas
7. Melihat package yang sudah diinstall pip.

8. Melakukan upgrade pip
$ pip install --upgrade pip


9. Melakukan instalasi django  disini kita akan instalasi versi 2.2, disini bisa sesuaikan dengan versi django kebutuhan teman".
$ pip install Django==2.2

10. Mengecek instalasi paket django menggunakan pip

11. Sekarang kita akan membuat project django dengan nama project “ketikanMD” dengan perintah django-admin startproject ketikanMD, secara otomatis akan terbuat folder berdasarkan nama project yang sudah ditentukan yaitu ketikanMD.

12. Menjalankan project yang kita buat, pastikan kita masuk ke dalam folder project kita yaitu ketikanMD

$ python manage.py runserver


13. Buka browser dan masukkan url http://127.0.0.1:8000 (sesuaikan dengan tampilan tanda kotak merah).



Sekarang kita sudah berhasil menginstall django dan menjalankan project django

14. Untuk Keluar dari environment
$ deactive
* secara otomatis tanda (env) akan hilang

Semoga Berhasil