Installation avec apt-get
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
Lien vers le fichier : cliquez ici
Pour avoir un transport d'APT qui permet d'utiliser les dépôts auxquels on accède au moyen de HTTPS (protocole HTTP Secure)
apt-get install apt-transport-https
Lien vers le fichier : cliquez ici
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Lien vers le fichier : cliquez ici
Installation de filebeat
apt-get update && apt-get install filebeat
Lien vers le fichier : cliquez ici
Type | Description | Location |
---|---|---|
home | Home of the Filebeat installation. | /usr/share/filebeat |
bin | The location for the binary files. | /usr/share/filebeat/bin |
config | The location for configuration files. | /etc/filebeat |
data | The location for persistent data files. | /var/lib/filebeat |
logs | The location for the logs created by Filebeat. | /var/log/filebeat |
pour avoir en input les logs
Pour ne pas sortir sur elasticsearch
mais sur Kafka
# ---------------------------- Kafka Output ------------------------------------
output.kafka:
#codec.format:
#String: '%{[@timestamp]} %{[message]}'
# initial brokers for reading cluster metadata
hosts: ["votreserveurkafka:9092"]
# message topic selection + partitioning
topic: secure-log
partition.round_robin:
reachable_only: false
required_acks: 1
compression: gzip
max_message_bytes: 1000000
Lien vers le fichier : cliquez ici
Ajout du module system
cd /usr/share/filebeat/bin/
filebeat modules enable system
Lien vers le fichier : cliquez ici
Check de la configuration
more /etc/filebeat/filebeat.yml | grep -v "^#"
Lien vers le fichier : cliquez ici
Test de la configuration
cd /usr/share/filebeat/bin/
filebeat test config –e –c /etc/filebeat/filebeat.yml
Lien vers le fichier : cliquez ici
Lancement manuel
cd /usr/share/filebeat/bin/
filebeat -e -c /etc/filebeat/filebeat.yml
Lien vers le fichier : cliquez ici
Lancement automatique
systemctl enable Filebeat
systemctl start filebeat
Lien vers le fichier : cliquez ici
Listage des modules
cd /usr/share/filebeat/bin
filebeat modules list
Lien vers le fichier : cliquez ici
Le fichier des paramètres est dans
C:\ProgramData\Elastic\Beats\winlogbeat
Lien vers le fichier : cliquez ici
Check de l'agent winlogbeat sous Windows
Cd C:\ProgramData\Elastic\Beats\winlogbeat
"C:\Program Files\Elastic\Beats\7.16.2\winlogbeat\winlogbeat.exe" test output
"C:\Program Files\Elastic\Beats\8.0.0\winlogbeat\winlogbeat.exe" test output
Lien vers le fichier : cliquez ici
On peut regarder les logs avec
Get-Content -Path C:\ProgramData\Elastic\Beats\winlogbeat\logs\winlogbeat
Get-Content -Path C:\ProgramData\Elastic\Beats\filebeat\logs\filebeat-20220217.ndjson
Lien vers le fichier : cliquez ici
Documentation sur https://kafka.apache.org/documentation/#quickstart
Ouvrir les ports 2181 et 9092
2181 est utilisé par Zookeeper et 9092 par le broker Kafka
En utilisant nftables à mon niveau je modifie nftables.rules avec
nano /etc/nftables.rules
et j'ajoute ces lignes
table ip myfilter {
chain myinput {
tcp dport {2181, 9092} accept
}
chain myoutput {
tcp dport {2181, 9092} accept
}
}
Lien vers le fichier : cliquez ici
Création d'un user pour kafka sans qu'il ait la possibilité de se logger
useradd -M --shell /usr/sbin/nologin kafka
Lien vers le fichier : cliquez ici
Télécharger kafka dans /opt/kafka depuis https://kafka.apache.org/downloads
(partie à recontrôler)
cd /opt/kafka
wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.13-2.8.1.tgz
tar -xvzf kafka_2.13-2.8.1.tgz --strip-components 1
Lien vers le fichier : cliquez ici
Modifier zookeeper.properties
mkdir /opt/kafka/zookeeper
nano /opt/kafka/config/zookeeper.properties
Lien vers le fichier : cliquez ici
Mettre
dataDir=/opt/kafka/zookeeper
Modifier le server.properties de kafka
nano /opt/kafka/config/server.properties
Lien vers le fichier : cliquez ici
Mettre
delete.topic.enable = true
log.dirs=/home/kafka/logs
Donner les droits au compte kafka
chown –R kafka.kafka /opt/kafka
Lien vers le fichier : cliquez ici
Création d'un service pour le démarrage automatique de zookeeper
nano /etc/systemd/system/zookeeper.service
Lien vers le fichier : cliquez ici
Y mettre ceci
[Unit]
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
User=kafka
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
Lien vers le fichier : cliquez ici
Activation du service zookeeper
systemctl enable zookeeper.service
systemctl start zookeeper.service
Lien vers le fichier : cliquez ici
Création d'un service pour le démarrage automatique de kafka
nano /etc/systemd/system/kafka.service
Lien vers le fichier : cliquez ici
Y mettre ceci
[Unit]
Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
User=kafka
ExecStart=/bin/sh -c '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties > /opt/kafka/kafka.log 2>&1'
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target
Lien vers le fichier : cliquez ici
Activation du service kafka
systemctl enable kafka.service
systemctl start kafka.service
systemctl status kafka.service
Lien vers le fichier : cliquez ici
Création d'un topic secure-log
/opt/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic secure-log
/kafka/bin/kafka-topics.sh --create --partitions 1 --replication-factor 1 --topic secure-log --bootstrap-server localhost:9092
Lien vers le fichier : cliquez ici
Afficher des informations sur le topic secure-log
Adaptez nomduserveur avec le nom de votre propre serveur
/opt/kafka/bin/kafka-topics.sh --describe --zookeeper nomduserveur --topic secure-log
Lien vers le fichier : cliquez ici
Lister les évènements reçus depuis la création du topic
/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic secure-log --from-beginning
Lien vers le fichier : cliquez ici
Lister les évènements reçus en temps réel sur le topic secure-log
/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic secure-log
/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic secure-log
Lien vers le fichier : cliquez ici
Création d'un évènement avec pour topic secure-log
echo "Testing Kafka" | /opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic secure-log > /dev/null
Lien vers le fichier : cliquez ici
Test de logstash
cd /etc/logstash
/usr/share/logstash/bin/logstash -f logstash.conf --config.test_and_exit
Lien vers le fichier : cliquez ici