-
Notifications
You must be signed in to change notification settings - Fork 21
Tendrl release v1.5.3 (install guide)
The server hosting tendrl-api/central_store should have minimum 12 GB of memory and 4 VCPUs (or equivalent)(due to alerts, logs being stored on this node)
- Tendrl requires Gluster>=3.12.0
Tendrl support running on SELinux enabled systems. Procedure to install the policies a are mentioned below.
Server
- yum install carbon-selinux
- yum install tendrl-grafana-selinux
- yum install tendrl-server-selinux
Storage Nodes
- yum install tendrl-collectd-selinux
- yum install tendrl-node-selinux
Enabling selinux is optional and not tested completely (WARNING)
In case there are problems running tendrl on such systems, please set SELinux to 'permissive' mode:
Modify /etc/selinux/config, so that SELINUX=permissive
reboot
Tendrl does not currently support running on firewall enabled system as the firewall rules are under development. Hence it is recommended to disable the firewalld on server/storage nodes
service firewalld stop
systemctl disable firewalld
iptables --flush
Make sure you keep time synchronized on all storage machines and Tendrl server. When you install Tendrl on machines with already existing storage cluster, an ntp daemon (such as chrony or ntpd) is usually already configured because it's part of the storage cluster installation.
yum install ntpdate
ntpdate <ntp_host>
Make sure Python DNS is installed on Tendrl server.
yum install python-dns
Make sure Ansible is installed on Tendrl server and all storage nodes, and that the Tendrl server can ssh to each of the storage nodes.
yum install epel-release
yum install ansible
Please refer to https://github.com/Tendrl/documentation/wiki/Enabling-Https-on-tendrl-server
To install (tendrl server, tendrl agents on storage nodes) via tendrl-ansible:
- Follow readme at https://github.com/Tendrl/tendrl-ansible/tree/master
Note: tendrl-ansible is not yet ready for v1.5.2 and v1.5.3, will be completed soon.
The following procedure outlines the procedure to install tendrl server components manually
-
Install CentOS 7.3
-
Enable the following repositories
wget https://copr.fedorainfracloud.org/coprs/tendrl/release/repo/epel-7/tendrl-release-epel-7.repo wget https://copr.fedorainfracloud.org/coprs/tendrl/dependencies/repo/epel-7/tendrl-dependencies-epel-7.repo cp tendrl-*.repo /etc/yum.repos.d yum install epel-release
Add Grafana repo as per the instructions at http://docs.grafana.org/installation/rpm/#install-via-yum-repository
-
Install Etcd
yum install etcd
-
Configure etcd
Edit the below etcd configurations for allowing the clients to connect to the etcd server
Open
/etc/etcd/etcd.conf
and update:ETCD_LISTEN_CLIENT_URLS="http://<IP of etcd server>:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://<IP of etcd server>:2379"
As a value for etcd server ip address, use some public ip address of the tendrl server machine (which is the server you are installing etcd on right now).
-
Enable and start the etcd service
systemctl enable etcd systemctl start etcd
- ** To run secure ETCD (SSL/TLS based encryption and auth), please refer https://github.com/Tendrl/documentation/wiki/Tendrl-with-a-secure-etcd-cluster**
-
Install Node Agent
yum install tendrl-node-agent
-
Configure Node Agent
Edit the below configurations for connecting to the etcd server
Open
/etc/tendrl/node-agent/node-agent.conf.yaml
and update:etcd_connection: <IP of etcd server> graphite_host: <IP of Graphite Server>
Note that:
- we configured ip address of etcd server just few steps ago
- a safe default value for ip address of graphite is the same one we use for etcd here (this guide places both services on tendrl server machine)
- graphite stack is installed later as a dependency of
tendrl-monitoring-integration
rpm package - you should not reconfigure
graphite_port
in this config file
Additional details (useful when you are familiar with graphite stack):
- this guide doesn't include steps to reconfigure any component for graphite stack so that we can assume that default configuration is used
-
graphite_host
refers tocarbon-cache
service, which is configured in/etc/carbon/carbon.conf
config file
-
Enable and start Node Agent
systemctl enable tendrl-node-agent systemctl start tendrl-node-agent
-
Install tendrl API
yum install tendrl-api
-
Configure tendrl API
Edit configuration file
/etc/tendrl/etcd.yml
for connecting to the etcd server and update:production:
section::production: :base_key: '' :host: '<IP of etcd server>' :port: 2379 :user_name: '' :password: ''
Then create the admin user:
cd /usr/share/tendrl-api RACK_ENV=production rake etcd:load_admin
Note that the default password of the admin user will be shown in output of rake command.
-
Enable and start API service
systemctl enable tendrl-api systemctl start tendrl-api
-
Install tendrl ui
yum install tendrl-ui
-
Install Monitoring Integration
yum install tendrl-monitoring-integration
-
Init graphite-db
/usr/lib/python2.7/site-packages/graphite/manage.py syncdb --noinput chown apache:apache /var/lib/graphite-web/graphite.db
-
Enable and start carbon-cache service
systemctl enable carbon-cache systemctl start carbon-cache
-
Configure grafana service
Open
/etc/sysconfig/grafana-server
and update:CONF_DIR: /etc/tendrl/monitoring-integration/grafana/ CONF_FILE: /etc/tendrl/monitoring-integration/grafana/grafana.ini
-
Enable and start grafana service
systemctl daemon-reload systemctl enable grafana-server.service systemctl start grafana-server
Note that the 1st step here (daemon reload) is actually needed as is a workaround for upstream grafana rpm package we are using right now:
Installing : grafana-4.4.3-1.x86_64 ### NOT starting on installation, please execute the following statements to configure grafana to start automatically using systemd sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable grafana-server.service ### You can start grafana-server by executing sudo /bin/systemctl start grafana-server.service
-
Configure monitoring-integration
Modify
/etc/tendrl/monitoring-integration/monitoring-integration.conf.yaml
:datasource_host: <IP of graphite server> etcd_connection: <IP of etcd server>
-
Enable and start monitoring-integration
systemctl enable tendrl-monitoring-integration systemctl start tendrl-monitoring-integration
-
Enable and start httpd
systemctl enable httpd systemctl start httpd
-
Install Notifier
yum install tendrl-notifier
-
Configure notifier
Open
/etc/tendrl/notifier/notifier.conf.yaml
and update:etcd_connection: <IP of etcd server> etcd_port: <Port of etcd server>
-
Configure email source::
Open /etc/tendrl/notifier/email.conf.yaml update --> email_id = <The sender email id> email_smtp_server = <The smtp server> email_smtp_port = <The smtp port> Note: If SMTP server supports only authenticated email, follow the template as in: /etc/tendrl/notifier/email_auth.conf.yaml.sample And accordingly enable the following: auth = <ssl/tls> email_pass = <password corresponding to email_id for authenticating to smtp server>
-
Enable and start notifier service::
systemctl enable tendrl-notifier systemctl start tendrl-notifier
-
Open the following URL in the browser
http://<IP of the server>
-
Install CentOS 7.3 and Gluster. Ensure all the participating nodes in the Gluster cluster are peer probed (i.e. present in gluster trusted storage pool), only after which tendrl-node-agent should be installed on all nodes, without peer probe, the node wont be detected by tendrl as a gluster node.
-
Enable the following repositories
wget https://copr.fedorainfracloud.org/coprs/tendrl/release/repo/epel-7/tendrl-release-epel-7.repo wget https://copr.fedorainfracloud.org/coprs/tendrl/dependencies/repo/epel-7/tendrl-dependencies-epel-7.repo cp tendrl-*.repo /etc/yum.repos.d yum install epel-release
-
Install Node Agent
yum install tendrl-node-agent
-
Configure Node Agent
Edit the below configurations for connecting to the etcd server
Open
/etc/tendrl/node-agent/node-agent.conf.yaml
and update:etcd_connection = <IP of etcd server> graphite_host = <IP of Graphite Server>
-
Enable and start Node Agent
systemctl enable tendrl-node-agent systemctl start tendrl-node-agent