Differenze tra le versioni di "Gruppo Meteo/HowTo/server"
Riga 58: | Riga 58: | ||
* gestione porta TCP | * gestione porta TCP | ||
− | la porta dedicata a AMQP è la | + | la porta dedicata a AMQP è la 15672 |
grantire l'accesso dove e come necessario | grantire l'accesso dove e come necessario | ||
Riga 70: | Riga 70: | ||
[ | [ | ||
− | + | {rabbit, | |
− | + | [ | |
− | + | %% Uncomment the following line if you want to allow access to the | |
− | + | %% guest user from anywhere on the network. | |
+ | {loopback_users, []}, | ||
+ | |||
+ | {auth_backends, [rabbit_auth_backend_internal, rabbit_auth_backend_http]} | ||
+ | ] | ||
+ | }, | ||
+ | |||
+ | {rabbitmq_auth_backend_http, | ||
+ | [ | ||
+ | {user_path, "http://localhost/auth/user"}, | ||
+ | {vhost_path, "http://localhost/auth/vhost"}, | ||
+ | {resource_path, "http://localhost/auth/resource"} | ||
+ | ] | ||
+ | |||
+ | } | ||
+ | ]. | ||
+ | |||
+ | |||
+ | * configurazione | ||
+ | |||
+ | Dal menù "Overview" selezionare la voce "Import / export definitions" e "upload broker definition" | ||
+ | http://sourceforge.net/p/r-map/code/HEAD/tree/trunk/rabbitmq/rabbit_server.json | ||
* tuning | * tuning |
Versione delle 13:58, 19 mag 2015
Installazione
repo rmap
- copiare in /etc/yum.repos.d/ il file dal link
http://rmapv.rmap.cc/repo/rmap/rmapcentos.repo
oppure
http://rmapv.rmap.cc/repo/rmap/rmap.repo
- installare rmap con le dipendenze
yum install rmap
mariaDB
yum install mariadb-server
- copiare in /etc/my.cnf.d il file
rmap.cnf
- creare la directory /rmap/mysql
chown mysql:mysql /rmap/mysql
- far partire il DB server
systemctl status mariadb.service
- creare il DB
mysql -u root -p create database rmap; CREATE USER 'rmap'@'%' IDENTIFIED BY 'rmap'; GRANT ALL PRIVILEGES ON rmap.* TO 'rmap'@'%' with GRANT option;
CREATE USER 'rmapadmin'@'%' IDENTIFIED BY 'rmapadmin'; create database rmapadmin; GRANT ALL PRIVILEGES ON rmapadmin.* TO 'rmapadmin'@'%' with GRANT option;
FLUSH PRIVILEGES;
rabbitmq-server
- è necessario installare due pacchetti
python-pika per i client rabbitmq-server per il server
- attivazione server e plugin
chkconfig rabbitmq-server on service rabbitmq-server restart
rabbitmq-plugins enable rabbitmq_management rabbitmq-plugins enable rabbitmq_shovel rabbitmq-plugins enable rabbitmq_shovel_management
- cambio password amministrazione:
rabbitmqctl change_password guest 123456
- verifica risoluzione nome; nel caso fare:
The next thing to do is add the hostname’s short names in your /etc/hosts file. Why? Because RabbitMQ does not like FQDN (Attempting to do this will result in the following error: ** System NOT running to use fully qualified hostnames **).
- gestione porta TCP
la porta dedicata a AMQP è la 15672 grantire l'accesso dove e come necessario
- gestione porta interfaccia grafica management
The web UI is located at: http://server-name:15672/ on a fresh installation the user "guest" is created with password "guest", ma noi la password l'abbiamo cambiata. attenzione ci si collega di default solo da localhost se non va bene bisogna cambiare la conf di loopback_users in /etc/rabbitmq/rabbitmq.config
[
{rabbit,
[ %% Uncomment the following line if you want to allow access to the %% guest user from anywhere on the network. {loopback_users, []},
{auth_backends, [rabbit_auth_backend_internal, rabbit_auth_backend_http]} ]
},
{rabbitmq_auth_backend_http,
[ {user_path, "http://localhost/auth/user"}, {vhost_path, "http://localhost/auth/vhost"}, {resource_path, "http://localhost/auth/resource"} ]
} ].
- configurazione
Dal menù "Overview" selezionare la voce "Import / export definitions" e "upload broker definition"
http://sourceforge.net/p/r-map/code/HEAD/tree/trunk/rabbitmq/rabbit_server.json
- tuning
ecco solo alcuni suggerimenti: file rabbitmq.config
disk_free_limit
Disk free space limit of the partition on which RabbitMQ is storing data. When available disk space falls below this limit, flow control is triggered. The value may be set relative to the total amount of RAM (e.g. {mem_relative, 1.0}). The value may also be set to an integer number of bytes. By default free disk space must exceed 50MB. See the memory-based flow control documentation.
Default: 50000000
rabbitmq_auth_backend_http
fare riferimento a https://github.com/simonmacmullen/rabbitmq-auth-backend-http
Sacricare il plugin da qui http://www.rabbitmq.com/community-plugins.html e metterlo in:
/usr/lib/rabbitmq/lib/rabbitmq_server-3.3.5/plugins/
attivarlo con:
rabbitmq-plugins enable rabbitmq_auth_backend_http
aggiungere in /etc/rabbitmq/rabbitmq.config
[ {rabbit, [{auth_backends, [rabbit_auth_backend_http]}]}, {rabbitmq_auth_backend_http, [{user_path, "http://localhost:8000/auth/user"}, {vhost_path, "http://localhost:8000/auth/vhost"}, {resource_path, "http://localhost:8000/auth/resource"}]} ].
service rabbitmq-server restart
showel configuration
in /etc/sudoers.d/rmap
Defaults:rmap !requiretty rmap ALL= NOPASSWD: /sbin/rabbitmqctl
mosquitto
todo
mosquitto-auth-plug
Riferirsi a: https://github.com/jpmens/mosquitto-auth-plug
copiare i sorgenti in locale
creare config.mk come segue:
# Select your backends from this list BACKEND_CDB ?= no BACKEND_MYSQL ?= no BACKEND_SQLITE ?= no BACKEND_REDIS ?= no BACKEND_POSTGRES ?= no BACKEND_LDAP ?= no BACKEND_HTTP ?= yes # Specify the path to the Mosquitto sources here MOSQUITTO_SRC = # Specify the path the OpenSSL here OPENSSLDIR = /usr
poi:
make mkdir /var/lib/mosquitto/plugins cp auth-plug.so /var/lib/mosquitto/plugins/
creare il file /etc/mosquitto/conf.d/rmap.conf
auth_plugin /var/lib/mosquitto/plugins/auth-plug.so auth_opt_backends http auth_opt_http_hostname localhost auth_opt_http_ip 127.0.0.1 auth_opt_http_port 80 auth_opt_http_getuser_uri /auth/auth auth_opt_http_superuser_uri /auth/superuser auth_opt_http_aclcheck_uri /auth/acl
restart server:
service mosquitto restart
server ports
* 22 ssh * 80 webserver * 443 monit web server * 1883 8883 MQTT * 5672 amqp * 2003 carbon-cache * 5925 borinud * 15672 rabbitmq_management * 8090 arkimet
graphite Fedora 20 fast start
yum install graphite-web python-carbon
python /usr/lib/python2.7/site-packages/graphite/manage.py syncdb
service carbon-cache start
python /usr/lib/python2.7/site-packages/graphite/manage.py runserver
python /usr/share/doc/graphite-web/example-client.py
firefox http://127.0.0.1:8000/dashboard/
Start and test graphite interface
Start mqtt2graphite and view the graphite graphs on http://server_ip/
mqtt2graphited run
2014-07-08 23:28:08,051 Starting MQTT2Graphite_5966-localhost.localdomain
2014-07-08 23:28:08,055 INFO MODE 2014-07-08 23:28:08,084 DEBUG MODE 2014-07-08 23:28:08,213 Connected to broker at localhost as MQTT2Graphite_5966-localhost.localdomain 2014-07-08 23:28:08,253 Subscribing to topic meteo/# 2014-07-08 23:28:08,312 pubblish {'carbon_port': 2003, 'map': {'meteo/#': ('j', None)}, 'sock': <socket._socketobject object at 0xb6a9e9d0>, 'carbon_server': '127.0.0.1'} with id 1 2014-07-08 23:28:08,363 Subscribed: 2 (0,) 2014-07-08 23:28:08,409 CARBONKEY is [meteo.-.1012345_4412345.generic.-_-_-.-_-_-_-.B07030] 2014-07-08 23:28:09,834 meteo.-.1012345_4412345.generic.-_-_-.-_-_-_-.B07030.v 400.000000 1404854888 2014-07-08 23:28:09,863 CARBONKEY is [meteo.-.1137637_4449216.generic.-_-_-.-_-_-_-.B07030] 2014-07-08 23:28:09,926 meteo.-.1137637_4449216.generic.-_-_-.-_-_-_-.B07030.v 400.000000 1404854889 2014-07-08 23:28:11,133 CARBONKEY is [meteo.-.1137637_4449216.generic.254_0_0.103_3000_-_-.B12101] 2014-07-08 23:28:11,155 meteo.-.1137637_4449216.generic.254_0_0.103_3000_-_-.B12101.v 30115.000000 1404854891 2014-07-08 23:28:16,687 CARBONKEY is [meteo.-.1137637_4449216.generic.254_0_0.103_3000_-_-.B12101] 2014-07-08 23:28:16,733 meteo.-.1137637_4449216.generic.254_0_0.103_3000_-_-.B12101.v 30121.000000 1404854896 2014-07-08 23:28:24,895 CARBONKEY is [meteo.-.1137637_4449216.generic.254_0_0.103_3000_-_-.B12101] 2014-07-08 23:28:24,933 meteo.-.1137637_4449216.generic.254_0_0.103_3000_-_-.B12101.v 30121.000000 1404854904