Installing Aerospike

This section provides a step-by-step guide to installing Aerospike.

To install the aerospike, follow the steps below:

  1. Install Aerospike on the target VM and configure it to run as a service.
    wget -O aerospike.tgz
            https://enterprise.aerospike.com/.../el8_amd64
     tar -xzf aerospike.tgz
     cd
            aerospike-*/ 
     ./asinstall
  2. Create systemd configuration:
    vi /etc/systemd/system/aerospike.service.d/user.conf
    
     [Service]
     User=aerospike
     Group=aerospike
  3. Configure disks and ownership:
    lsblk  # check the instance store disk
     file -s /dev/nvme3n1
     vi /etc/udev/rules.d/99-aerospike.rules
     KERNEL=="nvme3n1", OWNER="aerospike"
    
     udevadm control --reload-rules
     udevadm trigger
     blkdiscard /dev/nvme3n1
     blkdiscard -z --length 8MiB /dev/nvme3n1
  4. Update configuration:
    cd /etc/aerospike/
    vim aerospike.conf    # Update the Cluster host/port details and storage 
    vim features.conf   # Update the Licence Details
    mkdir -p /var/run/aerospike/
     mkdir -p /var/log/aerospike/
     chown -R aerospike: /var/run/aerospike/
     chown -R aerospike: /var/log/aerospike/
     chown -R aerospike: /opt/aerospike/
  5. Enable required ports and start Aerospike:
    semanage port -a -t http_port_t -p tcp 13000-13003
    systemctl start aerospike
     systemctl status aerospike
    tail -F /var/log/aerospike/aerospike.log 
  6. Use the following to verify Aerospike service and cluster:
    asadm -p 13000 -e 'info'
     asadm -p 13000 -e 'asinfo -v services'
           info
           show config
           asinfo -v services
           enable
           asinfo -v features
    
    nc -zv puapso1baxcdaerdbs1002.axcd.aws.hclsw.internal 13001

Installing Node Exporter

Node Exporter collects system metrics such as CPU, memory, disk, and network usage. These metrics are then scraped by Prometheus for monitoring and visualization.

  1. Download and extract Node Exporter.
    wget
            https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.
    tar xfz node_exporter-1.7.0.linux-amd64.tar.gz
  2. Move binary and create system user.
    sudo mv node_exporter-1.7.0.linux-amd64/node_exporter
            /usr/local/bin/
     sudo useradd -rs /bin/false node_exporter
  3. Create a systemd service unit.
    vi /etc/systemd/system/node_exporter.service
    
     [Unit]
     Description=Node Exporter
     After=network.target
    
     [Service]
     User=node_exporter
     Group=node_exporter
     Type=simple
     ExecStart=/usr/local/bin/node_exporter
    
     [Install]
     WantedBy=multi-user.target
  4. Set permissions and SELinux contexts.
    chown -R root: /usr/local/bin/node_exporter
     chmod -R 755 /usr/local/bin/node_exporter
     restorecon -Rv /usr/local/bin
     semanage port -l | grep 9100
  5. Start and enable service.
    systemctl daemon-reload
     systemctl start node_exporter
     systemctl status node_exporter
     systemctl restart aerospike
     systemctl enable node_exporter
  6. Validate metrics endpoint and exporter status.
    /usr/local/bin/node_exporter --help
     sudo -H -u node_exporter bash -c "/usr/local/bin/node_exporter"
     su -s /bin/bash node_exporter
     ps aux | grep node
     curl -kv  http://localhost:9100/metrics

Aerospike Prometheus Exporter

Install the exporter to expose Aerospike metrics to Prometheus.

  1. Install Aerospike Prometheus exporter.
    wget https://github.com/aerospike/aerospike-prometheus-exporter/releases/download/v1.16.0/aerospike-prometheus-exporter-1.16.0-1.el8.x86_64.rpm
    rpm -Uvh aerospike-prometheus-exporter-1.16.0-1.el8.x86_64.rpm
     vim /usr/lib/systemd/system/aerospike-prometheus-exporter.service.
    
    [Unit]
    Description=Aerospike Prometheus Exporter Service
    Documentation=https://github.com/aerospike/aerospike-prometheus-exporter
    Wants=network.target
    After=network-online.target
    [Service]
    ExecStart=/usr/bin/aerospike-prometheus-exporter --config /etc/aerospike-prometheus-exporter/ape.toml
    [Install]
    WantedBy=multi-user.target
    
    vim /etc/systemd/system/multi-user.target.wants/aerospike-prometheus-exporter.service
    [Unit]
    Description=Aerospike Prometheus Exporter Service
    Documentation=https://github.com/aerospike/aerospike-prometheus-exporter
    Wants=network.target
    After=network-online.target
    [Service]
    ExecStart=/usr/bin/aerospike-prometheus-exporter --config /etc/aerospike-prometheus-exporter/ape.toml
    [Install]
    WantedBy=multi-user.target
    
    vim /etc/aerospike-prometheus-exporter/ape.toml
    
  2. Aerospike monitoring validation.
    systemctl daemon-reaload
    systemctl start aerospike-prometheus-exporter
    systemctl status aerospike-prometheus-exporter
       
    ps aux | grep expo
    
    journalctl -u aerospike-prometheus-exporter
    /usr/bin/aerospike-prometheus-exporter --help
    
    semanage port -l | grep 9145
    systemctl enable aerospike-prometheus-exporter
    systemctl status aerospike-prometheus-exporter
    
    curl -kv http://localhost:9145/metrics