Configuración Agente (Cliente) ZABBIX 4.0

EL presente instructivo tiene como finalidad fijar los pasos básicos necesarios para la instalación y configuración del cliente o agente Zabbix 4.0

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe contar con un servidor ZABBIX corriendo

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Ubuntu versión 16.04(Xenial)

Aplicaciones:

  • zabbix-agent 4.0-2

Para el presente ejemplo se toma la siguientes consideraciones:

  • El equipo que seŕa agregado es un servidor linux
  • El hostname del equipo que instalaremos el agente zabbix es “server”
  • La dirección IP del servidor ZABBIX es 192.168.4.30
  • Los puertos del Zabbix a utilizar son: (10050 – 10051)

Agregar Repositorios Zabbix:

1. Descargar archivo configuración repositorio

root@server:/# wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-2+xenial_all.deb

2. Instalar paquete

root@server:/# dpkg -i zabbix-agent_4.0-2+xenial_all.deb

Continuar leyendo “Configuración Agente (Cliente) ZABBIX 4.0”

Anuncios

Crear Area de Intercambio (Memoria Swap)

El presente instructivo tiene como finalidad la creación de un área de intercambio (swap) en un equipo, luego de haber instalado el sistema operativo.

La memoria Swap es importante para aquellos equipos (VPS) con poca memoria asignada (<2GB)

En el presente ejemplo el equipo posee 2GB de RAM, por lo que se creará una swap de 4GB. Según la recomendaciones, la swap debe ser de 1,5 * RAM a 2 * RAM.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 9.0 (actualmente estable)

Aplicaciones:

  • comando dd
  • comando swapon
  • comando mkswap

Configuración:

1. Crear archivo con espacio de 4GB

root@devbd1:/# dd if=/dev/zero of=/swapfile bs=1MB count=4096 conv=fdatasync
4096+0 records in
4096+0 records out
4096000000 bytes (4.1 GB, 3.8 GiB) copied, 7.46962 s, 548 MB/s

Continuar leyendo “Crear Area de Intercambio (Memoria Swap)”

Prueba Velocidad Disco Duro Servidor Linux

El presente instructivo tiene como finalidad de explicar una forma sencilla y rápida de verificar la velocidad de transferencia de información de un disco

Requisitos:

  • Se debe contar con suficiente privilegios para la escritura en disco

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 9.0 (actualmente estable)

Aplicaciones:

  • comando dd

Tomar en Cuenta:

  • Identificar el volumen que se desea testear
  • Verificar la cantidad de espacio en disco disponible para efectuar prueba
  • Si el volumen a testear contiene raiz “/”, tomar las previsiones en cuanto al espacio disponible

Comandos
Prueba#1:

La prueba consiste “rellenar” con cadenas de ceros “if=/dev/zero” un archivo “prueba_disco.bat” en el volumen deseado “/var/lib/postgresql”. El peso del archivo será de 1GB aproximadamente, y está defino en la escritura de bloques de 1MB “bs=1MB” multiplicado por la cantidad de esos bloques que serán escritos 1024 (count=1024)

Continuar leyendo “Prueba Velocidad Disco Duro Servidor Linux”

Crear Tarea CRON para Ejecutar Código PHP

El presente instructivo tiene como finalidad exponer un ejemplo de ejecución de un código PHP cada minuto, en una tarea de Crontab de linux.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 9.0 (actualmente estable)

Aplicaciones:

  • Comando Crontab

Ejemplo:

1. Editar la tarea Crontab:

root@server:/# crontab -e

Incluir lo siguiente:

*/1 * * * * /usr/bin/php -q /ruta/archivo/prueba.php >> /var/log/log-codigophp.log

2. Listar la tarea:

root@server:/# crontab -l

3. Reiniciar el servicio:

root@server:/# /etc/init.d/cron restart

4. Ejecutar una prueba:

root@server:/# env -i /usr/bin/php -q /ruta/archivo/prueba.php 

Primeros Pasos con Ansible

El presente instructivo tiene como finalidad suministrar los pasos necesarios para la instalación y configuración básica de la aplicación Ansible en equipo con la distribución GNU/Linux Debian.

Requisitos:

  • Se debe contar con suficiente privilegios para la configuración de aplicativos
  • Se debe contar con (02) equipos con ssh instalado

Plataforma:

  • Equipos de arquitectura 64 bits
  • Sistema operativo ‘GNU/Linux’ Debian versión 9.1 (actualmente estable)

Aplicaciones:

  • Ansible -> 2.2.1.0-2
  • openssh-server -> 1:7.4p1-10+deb9u1
  • openssh-client -> 1:7.4p1-10+deb9u1

Para la configuración de la solución se utilizarán dos (02) maquinas con debian 9.1:

– Un (01) Equipo para instalación y configuración de la maquina de administración:

  • Hostname: admin
  • IP Interna: 192.168.1.2

– Un (01) equipos para la instalación y configuración de nodo

  • Hostname: nodo1
  • IP Interna: 192.168.1.3

– Usuario a utilizar: operador
Continuar leyendo “Primeros Pasos con Ansible”

Compartir Directorio por NFS

El presente instructivo tiene como finalidad, demostrar los pasos básicos necesarios para compartir un directorio NFS entre dos equipos.

El ejemplo del presente instructivo consiste en ‘compartir’ el directorio ‘/srv’ del equipo server, en el equipo ‘cliente’ a través de NFS.

Actores:

  • Equipo Server
  • Nombre del equipo: server
  • Dirección IP: 161.196.1.10
  • Ruta repositorio fuentes: /srv

 

  • Equipo Cliente
  • Nombre del equipo: cliente
  • Dirección IP: 161.196.1.11

Configuración:

EQUIPO SERVER:

Instalar:

operador@server:/~$ sudo aptitude install nfs-kernel-server

Continuar leyendo “Compartir Directorio por NFS”

Reducir el Tiempo, Reciclar y Reusar el Estado TIME_WAIT en conexión TCP

El presente instructivo tiene como finalidad presentar los pasos básicos necesarios para la configuración en el kernel de Linux del estado TIME_WAIT de conexión TCP.
Ésta configuración puede ser utilizada para optimizar las conexiones de servicios Web o Base de Datos, aunque es recomendado configurar una aplicación para el agrupamiento de conexiones (connection pooling) o en el caso del servidor WEB el Keep-Alive.

El agrupamiento de conexiones (connection pooling) permite entre otras cosas, el manejo de una colección de conexiones abiertas a una base de datos de manera que puedan ser reutilizadas al realizar múltiples consultas o actualizaciones. En el caso de los serviodres WEB (Apache), el “Keep-Alive”, permite “mantener viva” la conexión de un cliente durante algún periodo corto de tiempo.

En aplicaciones como Mysql, PostgreSQL, Oracle, entre otros entre otros suelen aperturar y cerrar conexiones a cada instante y dependiendo del número de usuarios y la demanda (peticiones por segundo), aumenta la posibilidad de sufrir degradación del servicio.

Cuando una conexión TCP se cierra activamente, el puerto DEBE permanecer en el estado de TIME-WAIT durante un tiempo de 2xMSL (Maximum Segment Lifetime), es decir 2 minutos, tiempo en el cual la conexión esta ocupada y no puede ser reutilizado inmediatamente.

A continuación esquema(Según Protocolo de Control de Transmisión RFC: 793) secuencia normal de cierre de una conexión TCP:

       TCP A                                                TCP B

  1.  ESTABLISHED                                          ESTABLISHED

  2.  (Close)
      FIN-WAIT-1  --> <SEQ=100><ACK=300><CTL=FIN,ACK>  --> CLOSE-WAIT

  3.  FIN-WAIT-2  <-- <SEQ=300><ACK=101><CTL=ACK>      <-- CLOSE-WAIT

  4.                                                       (Close)
      TIME-WAIT   <--  <SEQ=300><ACK=101><CTL=FIN,ACK> <-- LAST-ASK

  5.  TIME-WAIT   --> <SEQ=101><ACK=301><CTL=ACK>      --> CLOSED

  6.  (2 MSL)
      CLOSED

RFC 793. TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION. 3.5. Closing a Connection. Secuencia de cierre normal. Figura 13
Continuar leyendo “Reducir el Tiempo, Reciclar y Reusar el Estado TIME_WAIT en conexión TCP”