PROMETHEUS 


Kali ini saya akan berbagi pengalaman tentang instalasi dan konfigurasi prometheus.
Prometheus adalah sebuah aplikasi open source untuk monitoring system dan alerting yang dibuat oleh soundclouud. Pada awal tahun 2012 banyak perusahaan dan organisasi yang sudah mengadopsi  prometheus. Prometheus sangat aktif di development dan komunitas pengguna

Tahapan instalasi dari prometheus banyak sekali caranya, tetapi dalam coretan kali ini saya membagikan pengalaman cara instalasi prometheus berdasarkan pengalaman. Didalam coretan ini saya menggunakan prometheus di sistem operasi CentOS. Berikut tahapan instalasi dan konfigurasinya.
  1. Sebelum melakukan instalasi prometheus, download dahulu prometheus dengan menggunakan perintah berikut
    "wget https://github.com/prometheus/prometheus/releases/download/v2.15.2/prometheus-2.15.2.linux-amd64.tar.gz " atau bisa mengunjungi situs Prometheus
  2. kemudian cek SeLinux, untuk mengeceknya sudah di jelaskan pada coretan disini
  3. Buatlah sebuah directory atau folder
     mkdir /etc/prometheus 
     mkdir /var/lib/prometheus 
  4. Ubah ownernya sesuai dengan user yang digunakan contohnya
    chown irfan:irfan /etc/prometheus
    chown irfan:irfan /var/lib/prometheus 
  5. Extrak hasil download tadi dengan perintah
    tar -xvzf prometheus-2.15.2.linux-amd64.tar.gz
  6. Untuk memudahkan, ubahlah prometheus prometheus-2.15.2.linux-amd64 dengan perintah
    mv prometheus-2.15.2.linux-amd64 prometheus package 
  7. Salin file yang ada pada directory prometheuspackage
    cp prometheuspackage/prometheus /usr/local/bin
    cp prometheuspackage/promtool /usr/local/bin
    cp -r prometheuspackage/consoles  /etc/prometheus
    cp -r prometheuspackage/console_libraries  /etc/prometheus
  8. Kemudian ubah kembali ownernya
    chown irfan:irfan /usr/local/bin/prometheus
    chown irfan:irfan /usr/local/bin/promtool
    chown -R irfan:irfan /
    etc/prometheus/consoles
    chown -R irfan:irfan /etc/prometheus/console_libraries
  9. Buatlah sebuah file prometheus.yml
    touch /etc/prometheus/prometheus.yml dan buka dengan perintah vi /etc/prometheus/prometheus.yml
  10. Kemudian isikan seperti berikut ini

    global: 
        scrape_interval: 10s

    scrape_configs:
       
       -  job_name: 'prometheus_master'
         
          scrape_interval: 5s
         
          static_configs:
              -  targets: ['localhost:9090']
  11. Lalu buat sebuah service prometheus agar dapat dijalankan secara otomatis
    vi /etc/systemd/system/prometheus.service
  12. Isikan dengan perintah berikut

    [Unit]
    Description=Prometheus
    Wants=network-online.target
    After=network-online.target

    [Service]
    User=irfan
    Group=irfan
    Type=simple
    ExecStart=/usr/local/bin/prometheus --config.file /etc/prometheus/prometheus.yml --storage.tsdb.path /var/lib/prometheus/ --web.console.templates=/etc/prometheus/consoles --web.console.libraries=/etc/prometheus/console_libraries

    [install]
    WantedBy=multi-user.target
  13. Jalankan service daemon dan jalankan service prometheus
    systemctl daemon-reload
    systemctl enable prometheus
    systemctl start prometheus
  14. Lakukan pengecekan dengan perintah
    systemctl status prometheus
  15. Kemudian buka pada web browser dengan memasukan IP address dan port, untuk default port prometheus 9090
    contoh 192.168.10.1:9090

EX ERROR

Jika terjadi error, coba lakukan pengecekan SeLinux atau membuka port 9090 pada firewall
  1. SeLinux 
  2. Untuk Firewall bisa dengan perintah
    firewall-cmd --add-port=9090/tcp --permanent
    firewall-cmd --reload
  3. Coba buka kembali.

SeLinux CentOS 7


SeLinux adalah suatu fitur pengaturan keamanan yang membatasi akses ke modul kernel tertentu. fitur ini biasanya digunakan secara standar pada sistem operasi CentOS dan RHEL, yang berguna untuk memberikan keamanan tambahan untuk sistem operasi tersebut. 
Di dalam seLinux terdriri dari policies , yaitu peraturan yang memperbolehkan atan tidaknya penggunakan aplikasi tertentu. 
Terdapat tiga status dalam SeLinux, antara lain :
  • Enforcing, artinya semua akses tanpa memberikan hak kepada seseorang yang menggunakan sistem, dengan di ikuti peringatan
  • Permissive, artinya membolehkan akses tanpa memberikan hak kepada seseorang yang menggunakan sistem, dengan diikuti peringatan.
  • Disable, artinya memberikan hak kepada seseorang tanpa memberi peringatan

Mematikan SeLinux

Ada beberapa cara dalam mematikan seLinux, yaitu secara sementara dan  permanen, jika dimatikan secara sementara, kita tidak perlu mengorbankan kemanan dari server, seLinux akan kembali aktif setelah sistem dinyalakan ulang (restart). Jika dimatikan secara permanen, kita dapat melakukan apapun di server tanpa mendapat peringatan, akan tetapi, server tidak terlindungi dengan semurna.

Cara Disable Sementara

sebelum melakukan disable, cek dahulu status SeLinux dengan perintah
  • sestatus
jika dalam status tersebut seLinux masih dalam keadaan enforcing, maka untuk melakukan disable sementara dengan menjalankan perintah 
  • setenforce 0
selanjutnya cek kembali apakah sudah berubah menjadi permissive

Cara Disable Permanen

Sama halnya dengan sebelumnya, cek dahulu status seLinux. 
Untuk melakukan disable permanen dengan menggunakan perintah
  • vi /etc/sysconfig/selinux   "vi" adalah text edito

yang perlu diubah dari SeLinux adalah dengan mengganti value SELINUX menjadi disable
  • SELINUX=disable

.....Sekian Terimakasih......

Web Server CentOS 7



Sedikit pengetian dari Web server
Web server merupakan sebuah software yang memberikan layanan berbasis data serta berfungsi untuk menerima permintaan HTTP atau HTTPS pada klient yang dikenal dan sering kita kenal dengan web browser (Google Chrome, Mozilla Firefox, dll).

Dalam coretan kali ini, saya coba menerapkan webserver dalam server centoOS 7
  • Instalasi 
  1. Lakukan Update menggunakan perintah "yum update" tunggu sampai proses selesai
  2. Jalankan perintah "yum install httpd" perintah ini untuk melakukan instalasi webserver pada server centOS
  3. pilih "y" untuk melanjutkan
  4. setelah enable httpd agar aktif otomatis ketika server restart/reboot dengan mengetikan perintah "systemctl enable httpd"
  5. untuk mengaktifkan nya dengan perintah  "systemctl start httpd".
  6. lakukan pengecekan dengan mengetikan perintah "systemctl status httpd"
  • Melakukan pergantian Port (jika diperlukan)
Proses ini dilakukan jika kita membutuhkan port berbeda, pada awalnya httpd atau webserver memiliki port 80, maka pada coretan ini akan di ubah dengan menggunakan port 8899
  1. Buka file httpd dengan menggunakan tools text editor, saya menggunakan "vi", sehingga perintahnya "vi /etc/httpd/conf/httpd.conf" lalu enter
  2. kemudian edit pada bagian "Listen 80" ganti dengan "Listen 8899" simpan dengan perintah ":wq" lalu enter
  3. restart httpd dengan perintah "systemctl restart httpd"
  4. untuk mengujinya silahkan buka web browser, lalu ketikan "http://ip-server:8899"
EX ERROR
Jika pada saat melakukan restart httpd erorr port, maka lakukan perintah berikut
  1. Lakukan Instalasi  "yum install policycoreutils-python -y" pada terminal
  2. Kemudian daftarkan port yang telah dibuat dengan perintah " semanage port -a -t http_port_t -p tcp 8899(port baru)" dan " semanage port -m -t http_port_t -p tcp 8899 "
  3. Jika masih belum bisa, dapat dengan membuka port pad firewall " firewall-cmd --add-port=8899/tcp --permanent"
  4. Dapat juga dengan mematikan seLinux "setenforce 0" lalu enter

SSH

Pada coretan kali ini akan membahas tentang proses instalasi ssh pada system operasi Linux CentOS, sebelum melakukan instalasi, sedikit menjelaskan mengenai SSH, Secure Shell (SSH) adalah sebuah protokol jaringan untuk melakukan komunikasi data yang amandan diberikan akses untuk melakukan perintah jarak jauh (remote) antara dua jaringan komputer.
Berikut merupakan tahapan dari instalasi SSH beserta konfigurasinya

  1. Buat akun baru dengan mengunakan perintah 
    #useradd irfan  -> irfan nama user yang digunakan
  2. Pertama lakukan update system dengan melakukan perintah
    #yum update
  3. Lakukan tahpan instalasi ssh dengan menggunakan perintah
    #yum -y install openssh-server   openssh-clients
  4. Setelah melakukan instalasi ssh, lalu cek apakah ssh telah terpasang dengan perintah
    ss -ntlp   | grep ssh, by default ssh menggunakan port 22
  5. Lakukan konfigurasi ssh dengan perintah
    #vi /etc/ssh/sshd_config
  6. Tambahkan Konfigurasi PermitRootLogin seperti gambar berikut ini

  7. Disable login password dengan seperti gambar berikut ini

  8. Simpan dan keluar dengan perintah
    :wq + enter
  9. Buat directory .ssh pada akun yang telah dibuat
    #mkdir .ssh
  10. Lalu masuk ke dalam directory ssh
    #cd .ssh/
  11. Kemudian buat file "authorized_keys” didalam directory ssh dengan perintah
    #touch authorized_keys
  12. Sebelumnya buat ssh-key pada client, disini menggunakan windows sebagai client, dengan menggunakan perintah
    ssh-keygen  -->  pada commandprompt (CMD)
  13. Masukan ssh-key yang tadi dibuat, bisa di cek pada lokasi “C:\Users\Irfan\.ssh” ke dalam file “authorized_keys”
  14. Selanjutnya restart
    #systemctl restart sshd

EX Error

  1. Jika terdapat error/Permission Denied maka ketikan perintah di bawah ini
    • chmod g-w /home/irfanmaulana
    • chmod 700 /home/irfanmaulana/.ssh/
    • chmod 600 /home/irfanmaulana/.ssh/authorized_keys
  2. Kemudian restart kembali
    #systemctl restart sshd 
  3. Lalu cek dengan perintah
    #systemctl status sshd
  4. Untuk mencobanya buka CMD pada client, kemudian ketikan perintah ssh namauser@192.x.x.x
  5. Jika berhasil maka dapat terhubung dengan server