Striker: Difference between revisions

From Alteeve Wiki
Jump to navigation Jump to search
No edit summary
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{header}}
{{header}}


'''Striker''' is the [[Anvil!]] dashboard and node monitoring software.
{{warning|1=This is an in-progress document. Do not expect anything here to be accurate or correct. This warning will be removed when the guide is completed. You can track the progress on [https://github.com/digimer/striker Striker's Github] page.}}


* The Dashboard loads onto monitoring devices and is used to control one or more Anvil! clusters and it's servers.
''Striker'' is the [[Anvil!]] web-based dashboard.
* The Monitor loads onto Anvil! nodes and monitors an individual node's hardware, it's view of the cluster software and shared foundation pack devices.


= Dashboard =
It's goal is to reduce the potential for human errors causing availability interruptions by simplifying the interface as much as possible. With it, you can build, maintain and replace other dashboards and ''Anvil!'' nodes, as well as build ''Anvil!' systems from scratch. 


To come later
''Striker'' dashboards also act as a ''[[ScanCore]]'' database. Two or more ''Striker'' dashboards will work together to make the ''ScanCore'' data resilient by handling replication of the data and n-way resync automatically to update new or rebooted dashboards.


== Install Striker ==
* [[Build an Anvil! - Detailed]] - or - [[Build an Anvil! - Cookbook]]


=== Requirements ===
= Manual =


* A machine with two wired network interfaces, one to the [[BCN]] and one to the [[IFN]].
* Version [[Striker v2.0|2.0]]
* [[RHEL]], [[CentOS]] or similar version 6.x (6.5 or higher recommended).
** Minimal install is sufficient, provided you install <span class="code">perl</span>.
** The installer will install everything else it needs.
 
<syntaxhighlight lang="bash">
yum install perl
</syntaxhighlight>
<syntaxhighlight lang="text">
<yum output>
</syntaxhighlight>
 
This install document will be using a fresh, minimal install of CentOS 6.5.
 
=== Getting the Install Script ===
 
The Striker installer needs to be downloaded. To account for minimal installs where <span class="code">wget</span> is not available, we'll use <span class="code">curl</span> instead which is always available.
 
<syntaxhighlight lang="bash">
curl https://raw.githubusercontent.com/digimer/an-cdb/master/striker-installer > striker-installer
</syntaxhighlight>
<syntaxhighlight lang="text">
  % Total    % Received % Xferd  Average Speed  Time    Time    Time  Current
                                Dload  Upload  Total  Spent    Left  Speed
100 96104  100 96104    0    0  148k      0 --:--:-- --:--:-- --:--:--  318k
</syntaxhighlight>
<syntaxhighlight lang="bash">
chmod 755 striker-installer
ls -lah ./striker-installer
</syntaxhighlight>
<syntaxhighlight lang="text">
-rwxr-xr-x. 1 root root 94K Sep  1 17:55 ./striker-installer
</syntaxhighlight>
 
=== Using the Install Script ===
 
The install script works by taking command line switches. You can get a better explanation of the switches by running <span class="code">./striker-installer -h
</span>.
 
The Striker installer configures the system as well as load the striker software. So we're going to tell it what host name, IP addresses and credentials to use.
 
In this tutorial, I am building a new Striker dashboard machine I will call <span class="code">an-m03.alteeve.ca</span>. I will be setting the following values:
 
{|class="wikitable"
!Parameter
!Switch
!Value
!Description
|-
|[[Back-Channel Network]]
|class="code"|-b
|class="code"|10.20.4.3/16
|Sets the [[BCN]] IP address and subnet mask.
|-
|[[Internet-Facing Network]]
|class="code"|-i
|class="code"|10.255.4.3/16,dg=10.255.255.254,dns1=8.8.8.8,dns2=8.8.4.4
|Sets the [[IFN]] IP address, subnet mask, default gateway and DNS servers.
|-
|Host name
|class="code"|-n
|class="code"|an-m03.alteeve.ca
|Sets the host name of the Striker dashboard machine.
|-
|Dashboard Owner
|class="code"|-c
|class="code"|Alteeve's Niche!
|This sets the name used on the password prompt when connecting to the dashboard. It reflects the owner/manager of the dashboard and is usually a company or organization name.
|-
|Email server user and password
|class="code"|-e
|class="code"|digimer@example.com:super secret password
|This is the email account user name and password that will be used later when sending alert emails from nodes.
|-
|Mail server details
|class="code"|-m
|class="code"|mail.example.com:587
|This is the mail server address and port that will be used later when sending alert emails from nodes. It is against this server that the user name and password defined in <span class="code">-e</span> will be used.
|-
|Striker user and password
|class="code"|-u
|class="code"|admin:another secret password
|This sets the user name and password that users will use when connecting to the dashboard. {{note|1=The password defined here will be used to set the <span class="code">root</span> user's password on the Striker dashboard itself. If you want these passwords to be different, please be sure to change it when the installer finished running.}}
|}
 
{{note|1=If you have already configured the network, please skip the <span class="code">-b</span> and <span class="code">-i</span> switches. If you have already configured the host name, please skip the <span class="code">-n</span> switch.}}
 
{{note|1=This is a standard <span class="code">[[bash]]</span> call, so please be sure to quote anything with spaces and to escape special characters like <span class="code">!</span>.}}
 
Knowing this, the installer command will be:
 
<syntaxhighlight lang="bash">
./striker-installer \
  -b 10.20.4.3/16 \
  -i 10.255.4.3/16,dg=10.255.255.254,dns1=8.8.8.8,dns2=8.8.4.4 \
  -n an-m03.alteeve.ca \
  -c "Alteeve's Niche\!" \
  -e "digimer@example.com:super secret password" \
  -m mail.example.com:587 \
  -u "admin:another secret password"
</syntaxhighlight>
 
=== Running the installer ===
 
We're specifying <span class="code">-b</span> and <span class="code">-i</span>, so the installer won't be totally autonomous. It will pause to prompt us to unplug the network cable going to the physical interface that we want to make the [[Back-Channel Network]] and the [[Internet-Facing Network]] links. Once the mapping of the interfaces is confirmed, the installer will finish running without further input.
 
<syntaxhighlight lang="bash">
./striker-installer \
  -b 10.20.4.3/16 \
  -i 10.255.4.3/16,dg=10.255.255.254,dns1=8.8.8.8,dns2=8.8.4.4 \
  -n an-m03.alteeve.ca \
  -c "Alteeve's Niche\!" \
  -e "digimer@example.com:super secret password" \
  -m mail.example.com:587 \
  -u "admin:another secret password"
</syntaxhighlight>
<syntaxhighlight lang="text">
##############################################################################
#  ___ _      _ _                                    The Anvil! Dashboard  #
#  / __| |_ _ _(_) |_____ _ _                                -=] Installer  #
#  \__ \  _| '_| | / / -_) '_|                                              #
#  |___/\__|_| |_|_\_\___|_|                                                #
#                                              https://alteeve.ca/w/Striker #
##############################################################################
 
[ Note ] - No specific version requested, will install: [1.1.5]
Sanity checks complete.
 
Checking the operating system to ensure it is compatible.
- We're on a RHEL (based) OS, good. Checking version.
- Looks good! You're on: [6.5]
Done.
 
Backing up some network related system files.
- The backup directory: [/root/anvil] doesn't exist, creting it.
- Backup directory successfully created.
- Backing up: [/etc/udev/rules.d/70-persistent-net.rules]
- It exists, backing it up.
- Copying: [/etc/udev/rules.d/70-persistent-net.rules] to: [/root/anvil/]
- Backing up: [/etc/sysconfig/network-scripts]
- Copying: [/etc/sysconfig/network-scripts] to: [/root/anvil/]
Done.
 
Making sure all network interfaces are up.
- The network interface: [eth1] is down. It must be started for the next stage.
- Checking if: [/etc/sysconfig/network-scripts/ifcfg-eth1] exists.
- Config file exists, changing BOOTPROTO to 'none'.
- Attempting to bring up: [eth1]...
- Checking to see if it is up now.
- The interface: [eth1] is now up!
Done.
 
-=] Configuring network to enable access to Anvil! systems.
 
Beginning NIC identification...
- Please unplug the interface you want to make:
- [Back-Channel Network, Link 1]
</syntaxhighlight>
 
{{note|1=If you are running the installer over the network, you will not see any output when you unplug the active cable. That is ok, just wait a second and then plug it back in.}}
 
Unplug the network cable going to the physical interface that you want to use to connect to the [[BCN]].
 
<syntaxhighlight lang="text">
- NIC with MAC: [02:0c:9d:02:a0:9e] will become: [bcn-link1]
- (it is currently: [eth1])
- Please plug in all network cables to proceed.
</syntaxhighlight>
 
Now plug it back in again.
 
<syntaxhighlight lang="text">
- Please unplug the interface you want to make:
- [Internet-Facing Network, Link 1]
</syntaxhighlight>
 
As before, unplug the cable going to the interface you want to use to connect to the [[IFN]].
 
<syntaxhighlight lang="text">
- NIC with MAC: [10:bf:48:24:69:2e] will become: [ifn-link1]
- (it is currently: [eth0])
- Please plug in all network cables to proceed.
</syntaxhighlight>
 
Plug it back in again.
 
{{note|1=The network configuration will be updated, but the in-use configuration will '''not''' change until the Striker machine is rebooted.}}
 
If you are happy with how the network will be reconfigured, press <span class="code"><enter></span>. If you want to try again, simply type <span class="code">n</span> and then press <span class="code"><enter></span>.
 
<syntaxhighlight lang="text">
Here is what you selected:
- Interface: [02:0C:9D:02:A0:9E], currently named: [eth1],
- will be renamed to: [bcn-link1]
- Interface: [10:BF:48:24:69:2E], currently named: [eth0],
- will be renamed to: [ifn-link1]
 
The Back-Channel Network interface will be set to:
- IP:      [10.20.4.3]
- Netmask: [255.255.0.0]
 
The Internet-Facing Network interface will be set to:
- IP:      [10.255.4.3]
- Netmask: [255.255.0.0]
- Gateway: [10.255.255.254]
- DNS1:    [8.8.8.8]
- DNS2:    [8.8.4.4]
 
Shall I proceed? [Y/n]
</syntaxhighlight>
 
Looks good, so we will proceed.
 
This is a good time to go make a coffee, it might take a little while to finish, particularly if this is a fresh minimal install. The installer will run OS updates as well as install all needed packages.
 
{{note|1=During the install of packages, it might appear that the installer has hung. Please be patient! Buffering causes output to not be shown for a while. It is extremely unlikely that the installer has hung, and waiting is usually all that is needed.}}
 
<syntaxhighlight lang="text">
</syntaxhighlight>
 
 
 
<span class="code"></span>
<syntaxhighlight lang="bash">
</syntaxhighlight>
<syntaxhighlight lang="text">
</syntaxhighlight>
 
= Monitor =
 
The monitor application is based around a "[[Striker API]]". The monitor itself acts as a daemon that calls scanner agents it finds inn the <span class="code">cgi-bin/scan.d</span> directory.


{{footer}}
{{footer}}

Latest revision as of 03:22, 17 September 2016

 AN!Wiki :: Striker

Warning: This is an in-progress document. Do not expect anything here to be accurate or correct. This warning will be removed when the guide is completed. You can track the progress on Striker's Github page.

Striker is the Anvil! web-based dashboard.

It's goal is to reduce the potential for human errors causing availability interruptions by simplifying the interface as much as possible. With it, you can build, maintain and replace other dashboards and Anvil! nodes, as well as build Anvil!' systems from scratch.

Striker dashboards also act as a ScanCore database. Two or more Striker dashboards will work together to make the ScanCore data resilient by handling replication of the data and n-way resync automatically to update new or rebooted dashboards.

Manual

 

Any questions, feedback, advice, complaints or meanderings are welcome.
Alteeve's Niche! Enterprise Support:
Alteeve Support
Community Support
© Alteeve's Niche! Inc. 1997-2024   Anvil! "Intelligent Availability®" Platform
legal stuff: All info is provided "As-Is". Do not use anything here unless you are willing and able to take responsibility for your own actions.