steth/docs/quickstart.rst

79 lines
2.5 KiB
ReStructuredText

==========
Quickstart
==========
Steth is an inspection tool that can aid in pinpointing issues before deployment
and during operation of an OpenStack environment.
It is modelled as agent(s)/client in which a controller interacts with
agents deployed in your environment. Let me introduce how to use steth.
-------------
Download code
-------------
Download the latest code from git repository. And run
``python setup.py install`` to install steth. After running that, you can
``steth --help`` to confirm Steth is installed correctly.
-------------
Before Deploy
-------------
Before deploy Steth Agent and Steth Client, you should make sure you have
installed all dependencies to run Steth. If you plan to deploy Steth on Ubuntu,
you should install `python-dev` and `libpcap-dev` in your machine before you
run ``pip install -r requirements.txt``.
------------------
Deploy Steth Agent
------------------
Steth Agent listens in 0.0.0.0:9698 on any node you want. It will wait for
RPC request. Currently we support CentOS 6.5, CentOS 7.0 and CentOS 7.1 only.
In CentOS 6.5, you should run ``service steth-agent start`` to start
steth-agent. In CentOS 7.0 and 7.1, you should run ``systemctl start steth``
to start steth-agent.
-------------------
Deploy Steth Client
-------------------
Steth Client is a stateless program. You can run ``steth --help`` to show all
steth commands that you can run.
------------------
Configuration File
------------------
On start the client will read a configuration file. By default the configuration
file is located at ``/etc/steth/steth.conf``.
Here is an example of the configuration file
::
[DEFAULT]
# (ListOpt) list of networks types.
# We may have multi network types in one node, such as mgmt, net and stroage.
# so this value should be a list.
# We seperate each item by ":". Treat first item as network type.
# The second is physical nic name. And the third is network_prefix.
# Example: "mgmt:eth0:1.1.1.,net:eth1:2.2.2.,storage:eth2:3.3.3."
network_types=mgmt:eth0:1.1.1.,net:eth1:2.2.2.,storage:eth2:3.3.3.
# (ListOpt) All nodes info. Just need sequence number.
# Example: 64, 65, 66
nodes_id=39,233,64,65,66
# (StrOpt) Name prefix of every node. By default, this value
# is "server". We combine "node_name_prefix" with
# "nodes_id", to define nodes. Such as "server-64", "server-68"
# and so on. In every region, we give every node a specific name.
# Ensure that DNS can resolve the nodes.
node_name_prefix=server-