3 liens privés
Top des process qui consomment du CPU pour zabbix
#!/bin/bash
#####################################################
# topcpu.sh
# returns names of most CPU time consuming processes
# as reported by 'top'
#####################################################
# 05-07-2010 by Jerry Lenk
# Use at your own risk!
#####################################################
# set limit to 1st argument, or 2% if not specified
lim=$1
test -z $lim && lim=2
# run 2 iterations of top in batch mode with 1 s delay
top -b -d1 -n2 |\
gawk --assign lim=$lim 'BEGIN { reply=""}
END { print reply, "." }
# if reply is empty, at least a period is returned
# in 2nd iteration, first 3 lines
# add columns 9 (%cpu) and 12 (process name)
# to reply string, if cpu at least lim%
itr == 2 && NR <= 3 && $9 >= lim { reply=reply; printf(" %s% ",$9); system("ps --no-headers -o args -p " $1) }
# count iterations by header lines beginning with "PID"
# reset linenumber
$1 == "PID" { NR=0 ; itr +=1 }
'
# Only 2nd iteration of top is of interest because
# load values are calculated since previous iteration
La galère enfin résolue mais c'est pas simple : jvisualvm over ssh
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=<jmx-remote-port>
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.local.only=false
-Djava.rmi.server.hostname=localhost
Attention au "-Djava.rmi.server.hostname=localhost", c'est ça qui fait que ça marche.
ps -ef | grep <java-processname>
netstat -lp | grep <process-id>
On récupère le deuxième port dynamique (le premier c'est le JMX)
Puis ouverture des tunnels (en cascade si on veut) :
ssh login@machine1 -L 15666:localhost:15666 -L 33429:localhost:33429
ssh login@machine2 -L 15666:localhost:15666 -L 33429:localhost:33429
Sur la jconsole ou visualvm :
service:jmx:rmi:///jndi/rmi://localhost:15666/jmxrmi
Et bing, ça marche....
Et si on n'a pas de tunneling SSH, il y a une option qui consiste à avoir un serveur HTTP qui sait exécuter du CGI : https://docs.oracle.com/javase/7/docs/platform/rmi/spec/rmi-arch6.html
On le configure pour exécuter le script cgi-bin/java-rmi.cgi. Par contre je pense que ça ne marche que pour faire des appels RMI distants et pas pour la JVisualVM... encore que, peut-être...
Tester une métrique de l'agent zabbix :
telnet host 10050
mysql.status[Com_begin]
Mieux :
zabbix_agentd -t mysql.status[Com_begin]
(via http://stackoverflow.com/questions/33329557/userparameters-and-zbx-notsupported)
Et aussi accessible de puis le "latest data" du serveur dans la partie détails avec le carré d'information
Configuring zabbix template and mysql access for monitoring mysql
mysql -uroot -p<mysql root password> -e"GRANT USAGE ON *.* TO 'zabbix'@'127.0.0.1' IDENTIFIED BY '123456'";
mysql -uroot -p<mysql root password> -e"GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY '123456'";
mysql -uroot -p<mysql root password> -e"flush privileges"
mysql -uzabbix -p123456 -e"status"
Bon résumé de l'utilisation du cache HTTP (navigateur/CDN/proxy/serveur) avec un zoom sur Varnish (apache & nginx savent aussi faire du cache HTTP mais de façon moins poussé)
lister les versions disponibles dans APT
apt-cache madison zabbix
Détail précis sur htop mais aussi (et du coup) sur des informations générales comme le load average.
Protection d'URL pour Apache
<Location /admin>
AuthUserFile /var/www/htpasswd/.htpasswd
AuthName "Password Protected Area"
AuthType Basic
Require valid-user
</Location>
Now create new htpasswd file using below command and add a new user.
htpasswd -cm /var/www/htpasswd/.htpasswd myuser
Consommation mémoire par user (RSS resident). Remplacer par $5 pour avoir la taille virtuelle.
for USER in $(ps haux | awk '{print $1}' | sort -u); do ps haux | awk -v user=$USER '$1 ~ user { sum += $6} END { print user " \t" sum" ko" "\t" sum/1024" Mo" "\t"sum/1024/1024" Go"; }' ; done
VSZ is the Virtual Memory Size
RSS is the Resident Set Size (swap non compté)
So if process A has a 500K binary and is linked to 2500K of shared libraries, has 200K of stack/heap allocations of which 100K is actually in memory (rest is swapped), and has only actually loaded 1000K of the shared libraries and 400K of its own binary then:
RSS: 400K + 1000K + 100K = 1500K
VSZ: 500K + 2500K + 200K = 3200K
Des exemples :
Cache-Control: public, max-age=30
Expires: Mon, 28 Nov 2016 14:28:20 GMT
Cache-Control: no-cache, no-store, must-revalidate
Un petit code PHP pour la création du Expires :
$expire_date = gmdate('D, d M Y H:i:s \G\M\T', time() + (10)); // +10 secondes
DATE=`date +%Y-%m-%d:%H:%M:%S`
Lister les services démarrés
systemctl list-unit-files --state=enabled
Useful SystemD commands (hints for systemctl or systemctl vs chkconfig and service)
List all running services
systemctl
Start/stop or enable/disable services
systemctl start foo.service
Deactivates a service immediately:
systemctl stop foo.service
Restarts a service:
systemctl restart foo.service
Shows status of a service including whether it is running or not:
systemctl status foo.service
Enables a service to be started on bootup:
systemctl enable foo.service
Disables a service to not start during bootup:
systemctl disable foo.service
Check whether a service is already enabled or not:
systemctl is-enabled foo.service; echo $?
alias ni='nice -n 19 ionice -c3'
+
renice -10 -p <pid>
au besoin.
/coude
markdown editor online
pense-bête : jmeter -n -t your_script.jmx
Changer la langue de tous les éléments d'un powerpoint en même temps :
Option Explicit
Public Sub ChangeSpellCheckingLanguage()
Dim j As Integer, k As Integer, scount As Integer, fcount As Integer
scount = ActivePresentation.Slides.Count
For j = 1 To scount
fcount = ActivePresentation.Slides(j).Shapes.Count
For k = 1 To fcount
If ActivePresentation.Slides(j).Shapes(k).HasTextFrame Then
ActivePresentation.Slides(j).Shapes(k) _
.TextFrame.TextRange.LanguageID = msoLanguageIDEnglishAUS
End If
Next k
Next j
End Sub
John Papa angular 1 style guide
Des préconisations pour écrire de l'angular avec les justifications
Intéressante synthèse sur la migration d'une appli vers le cloud