un projet similaire à kubetail
How to configure LoadBalancer (ELB) populated by k8s in aws (eks)
%{VARNAME}o The contents of VARNAME: header line(s) in the reply.
%{VARNAME}i The contents of VARNAME: header line(s) in the request sent to the server.
python3 log to file AND stdout
import logging
logging.basicConfig(handlers=[logging.FileHandler('/var/log/runner/process1.log'),logging.StreamHandler()],format='%(asctime)s %(levelname)s %(message)s',level=logging.INFO)
logging.info('foo')
Encore mieux pour supporter le logrotate sans copytruncate :
import logging.handlers
logging.basicConfig(handlers=[logging.handlers.WatchedFileHandler('/var/log/worker/worker1.log'),logging.StreamHandler()],format='%(asctime)s %(levelname)s %(message)s',level=logging.INFO)
/var/log/worker/*.log {
monthly
rotate 12
compress
delaycompress
missingok
notifempty
create 644 root root
}
Python 2:
import logging as loggingg
logging = loggingg.getLogger('simple_example')
logging.setLevel(loggingg.INFO)
formatter = loggingg.Formatter('%(asctime)s %(levelname)s %(message)s')
console_handler = loggingg.StreamHandler()
console_handler.setLevel(loggingg.INFO)
console_handler.setFormatter(formatter)
file_handler = loggingg.FileHandler('/var/log/worker/worker3.log')
file_handler.setLevel(loggingg.INFO)
file_handler.setFormatter(formatter)
logging.addHandler(console_handler)
logging.addHandler(file_handler)
import logging
logging.basicConfig(filename='log.txt', format=logging.BASIC_FORMAT)
logging.error('OH NO!')
try:
raise Exception('Foo')
except:
logging.exception("Oops:")
Or "how to search text in git diff history"
git log -p -S "string"
Je me mets ça de côté pour gagner du temps la prochaine fois
logfile=/tmp/logfile.log
errorfile=/tmp/error.log
function log() {
echo -e "\e[34m\e[1m[$(date +%Y-%m-%d) $(date +%H:%M:%S)] $1\e[0m" | tee -a /tmp/logfile.log
}
function logerror() {
echo -e "\e[91m\e[1m[$(date +%Y-%m-%d) $(date +%H:%M:%S)] $1\e[0m" | tee -a /tmp/logfile.log
}
log "prout"
logerror "pwet"
TIL
Beanstalk is a little bit... magic. Dunno yet if its good or not :
Elastic Beanstalk creates log volumes on the container instance, one for each container, at /var/log/containers/containername. These volumes are named awseb-logs-containername and should be mounted to the location within the container file structure where logs are written.
For example, the following mount point maps the nginx log location in the container to the Elastic Beanstalk–generated volume for the nginx-proxy container.
{
"sourceVolume": "awseb-logs-nginx-proxy",
"containerPath": "/var/log/nginx"
}
And all this logs can be copied into s3 automagically: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html#command-options-general-elasticbeanstalkhostmanager
aws logs get-log-events --log-group-name XX --log-stream-name YY --start-time 1476350746000
Je commence à bien aimer aws.
Encore un exemple d'utilisation de env= dans le authorized keys
via skunnyk
To disable bin log for the current session
Ptin trop bien logtop!
tcpdump -i any -n port 53 and udp|grep 'A?'|cut -d' ' -f8|logtop
Très intéressant, mais un peu long, je ferai un tldr
un listener qui permet d'envoyer un seul evenement logstash pour plusieurs lignes de logs.
Si on a la main sur le code source, c'est quand meme plus simple de logger en json : 1 ligne = 1 event
Dans ce cas on peut utiliser le plugin imfile de rsyslog pour surveiller le fichier et envoyer les events :)
Bon à savoir, pour rediriger la sortie standard d'un cron dans un fichier avec la date, penser à échapper les "%"
/path/to/log/dir/$(date +\%Y-\%m-\%d).log
Quelques tentatives de connexion sur mon serveur. On voit un peu de tout : rdp, vnc, mysql ..
DPT=1433
DPT=22
DPT=23
DPT=3128
DPT=3306
DPT=3389
DPT=37662
DPT=37834
DPT=389
DPT=4899
DPT=5001
DPT=5900
DPT=7071
DPT=7777
DPT=8080
DPT=9200
DPT=992
Logstalgia is a website traffic visualization that replays or streams web-server access logs as a pong-like battle between the web server and an never ending torrent of requests.
logtail permet de tail seulement la différence avec le dernier logtail qu'on a fait (un marqueur est créé pour stocker la position)
pratique pour faire une sonde munin si on veut la moyenne ou le max de ce qu'on a dans le log depuis le dernier check
une rule rsyslog
un logrotate
Je commençais à me plonger dans le code de logwatch, et là, je trouve cet article qui décrit exactement ce que je voulais faire : avoir le header 'host' dans les rapports logwatch \o/
Logstash c'est bien.
En fait c'est mieux avec ses deux copains : elasticsearch et kibana !
Logstash permet de :
1) récupérer "des choses" (parmi des input, comme par exemple des logs),
2) de les traiter (par exemple, appliquer des regex pour récupérer des champs),
3) de balancer la structure obtenue après traitement "quelquepart" (il existe des tas d'output, par exemple : elasticsearch)
Une fois que vous avez ça en place, vous pouvez visualiser vos données stockées dans elasticsearch avec kibana! (et ça donne ça : http://www.elasticsearch.org/overview/kibana/)
Sympa pour exploiter des access.log par exemple :)
Comment logger toutes les commandes tappées par tous les utilisateurs sur linux