Speech
The Education Secretary addresses the Education Britain Summit.
It’s a pleasure to be here at the Education Britain Summit today. Thank you to the Education Foundation for organising the summit with its positive focus on ‘celebration, ambition and inspiration’. These are, without doubt, challenging times but in a time of uncertainty the positive ‘can do’ approach of the Education Foundation is exactly what we all need.
When I accepted the invitation to speak at this event I knew that I’d be standing before you in a post-referendum world. The result is not the one I wanted or campaigned for and we are now living in uncertain times. I know, for many young people, recent events have been unsettling. We all - teachers, leaders, schools and parents - have an important role to play in providing reassurance and support to young people. I want to send a clear message today that:
Long before this result, the government gave clear direction to schools to teach children and young people about the fundamental British values of democracy, the rule of law, individual liberty, and mutual respect and tolerance of those of different faiths and beliefs.
This is part of our drive to foster better social cohesion and encourage all young people to celebrate their differences alongside their unifying sense of Britishness.
Although the referendum result has changed so much about the world we are living in, my ambition remains resolute: to extend opportunity and deliver real social justice for all. Brexit doesn’t change that. We will continue with the ambitious pace of reform that we have begun. Now, more than ever, we owe it to the next generation to equip them with the skills, knowledge and confidence to take on the challenges they will face.
Having spoken to the team behind today’s summit, I’m struck by their desire to build an ‘Education Nation’ - reforming of our system to meet the challenges of the future, but never forgetting to celebrate the things that are already being done well - rediscovering ‘national education treasures’.
So in that spirit I’d like to ‘celebrate’ the efforts of everyone here today. Your desire for a conversation and to work together is why I’m here and I’m really looking forward to you sharing your insights and expertise with me.
And as we approach the end of another school year we should also celebrate the efforts of teachers and leaders in schools throughout the country. Their hard work, commitment and exceptional ability to bring about excellent educational outcomes for young people represent our ‘educational treasures’. It’s thanks to their collective efforts that 1.4 million more children and young people are being taught in ‘good’ or ‘outstanding’ schools since 2010.
I am ambitious for the education system, and that ambition is clear: educational excellence everywhere. Our white paper builds on the reforms that started in 2010 which focused on making sure that every child gets the best start in life.
Yesterday, schools received the first set of key stage 2 results, following the introduction of a far more rigorous curriculum in 2014. As a government we made the decision to raise the bar on literacy and numeracy. Because while the old arrangements allowed politicians to celebrate ever improving results, the truth is, expectations were too low.
We had to bring our primary school curriculum in line with the best in the world, because nothing is more important than ensuring that young people master the basics of reading, writing and mathematics early on.
If they don’t, they’ll be left playing catch up for the rest of their lives. That’s why as part of this government’s commitment to delivering real social justice, started by Michael Gove my predecessor, we have raised the bar on what counts as a good enough standard in the 3Rs by the end of primary school.
I want to thank all those involved in the tests this year, including teachers and parents, for supporting pupils through the transition to a more rigorous system. It’s important that all involved see these results for what they are - a reflection of how well children this year have performed against a new curriculum.
Whilst it is right that we should celebrate success and achievement, there is more we have to do. It cannot be right that in 2016 children’s educational outcomes are, in part, determined by where they live.
That’s why as a society we must share a common goal: to ensure that all children have an excellent education. We all have a part to play in achieving that goal. Everyone has a role to play. Central to that ambition are schools, their leaders and teachers, and that’s why the white paper has such a strong emphasis on ‘great teachers’ and ‘great leaders’.
There can be no doubt that high-quality teaching is essential to improving pupil outcomes. Excellent leadership is also key. Ofsted evidence has shown that the overall performance of a school rarely exceeds the quality of its leadership and management. That’s why getting great teachers and leaders where they are most needed is my absolute priority.
These are challenging times for some schools to get the teachers and leaders they need in order to drive up standards. I recognise that schools find it frustrating if they can’t secure the talent they rightly expect, and we are responding. An economy in growth presents challenges - in a competitive graduate market, the best graduates are in high demand.
I’m very clear about the role the government has to play, to create an environment in which schools can be ambitious. We’re tackling workload, encouraging recruitment to teaching and promoting higher standards.
And we’re making progress.
I’m delighted with the latest recruitment figures to teaching - we’re seeing growth in the number of people training to be teachers across a range of secondary subjects.
I can also confirm that our reform of QTS will be implemented no earlier than September 2018 - with a formal consultation about our proposals in due course.
We’re tackling workload so teachers and school leaders will have time to focus on what really matters - focusing on high-quality teaching and delivering excellent educational outcomes.
We recently published the reports of 3 independent review groups looking at tackling workload related to marking, planning and data management. These reports are a great example of the profession taking charge of their own development and they include clear messages that can empower teachers and school leaders. We urge everybody in education to consider and engage with the messages and recommendations in the reports.
We’re also focusing on reforms that support children to reach their full potential, like character education and mental health reforms. Equipping schools with the tools to make a real difference to the future success of their students.
As I said in my opening remarks, in a time of uncertainty, it’s more important than ever that we equip the next generation with the confidence to succeed. Character plays a huge role in that, as I have been told time and time again by experts in character education like Carol Dweck and Angela Drummond, who say that children need and deserve opportunities to learn:
That’s why we are investing £6 million to test approaches to character education. We’re also delivering Character Awards to highlight the excellent practice that already exists at schools like Archibald Primary , where character education is at the heart of the school’s ethos and embedded across the curriculum. The school’s motto is “Believe and achieve” and the staff place great emphasis on instilling a belief in pupils that, whatever challenges they face, they can achieve their full potential.
And the Chancellor has announced that we will invest over £500 million so up to 25% of secondary schools can extend their school day to provide a wider range of activities , including those associated with building character.
These broader qualities are sought by parents, educators and employers alike.
Last year I supported the creation of the Careers & Enterprise Company - so that young people and employers can connect much earlier and start having the right conversations about career options and expectations - letting them know which skills and qualifications they need in order to advance their careers. The Careers & Enterprise Company is already doing great things under a fantastic CEO , Claudia Harris, and I know it will go from strength to strength. I would encourage anyone in business, with the capacity to get involved, to do so and start inspiring young people to succeed.
Employers want young people to have access to the right routes through education, to complement their individual strengths, and so that the economy gains the types of skills it really needs. That’s why the government is publishing its Skills Plan later this week - a strategy to lift the status of the technical route and put employers in the driving seat as the people best placed to know what skills our country needs.
The truth is that the government cannot and should not do it alone. We have a role to play but we need to be clear about the roles we need others to play. I hope that if we approach it as conversation rather than confrontation we’ll make the progress we need.
Many of our key policy interventions have been based on advice from leading heads and teachers, and we welcome their input and wise counsel. We will continue with that approach so that reforms are owned by the educators. But we should be clear that schools and their leaders must step up and play their part.
We’ve been very clear about the role schools need to play in identifying and developing talented teachers:
The government has created opportunities - schools need to make the most of them. Many already are.
That’s why I want to inspire, empower and extend the reach of our best leaders, putting them at the heart of the education system where they can drive change and take ownership of the system. If we are to achieve our ambition for educational excellence everywhere, then a supply of high-quality leaders is needed at all levels, from middle and senior leaders to headteachers and system leaders and increasingly at MAT CEOs level.
We believe that schools are best placed to recognise teachers with the talent, ambition and commitment to become leaders. To support this, we want to ensure schools and prospective leaders themselves can identify and choose to access high-quality leadership development opportunities.
And I’m very proud of the creation of a ‘Women in Education’ network to further support women’s career progression. We’ll be working with organisations such as ASCL and #WomenEd and with schools to ensure that this provision does not duplicate existing support. We are creating the “leadership coaching pledge”. Our ambition is to have 1,000 pledges so that 1,000 women are supported through coaching by system leaders by March 2017.
I’m clear that society as a whole - not just government and schools - has a shared responsibility to celebrate the dedication of everyone involved in education, and to recognise the essential contribution they make.
Thank you for all your hard work in pursuing educational excellence everywhere and the collaborative approach you are taking to achieving it.
Image credit: Paul Clark/The Education Foundation
Published: 7 July 2016


Goldfish
Shubunkins
Slender in body like the comets and commons, but should show in color the violet, red, orange, yellow and with spots of black (calico colors). Also these colors should run into the fins too.There is 2 different kinds of this fish London and Bristols.
4.00
Comet
Slender in body shape and have long single tail fin. They are very hardy fish and will grow on an average of 12-14" long.
3.50
Sakura
Sakura goldfish is any fancy breed that sports the "matte" characteristic in which the majority of the scales are semitransparent but with a sprinkling of several metallic scales and carrying only red pigmentation on its otherwise pinkish-white body. In other words, a calico goldfish minus the black and the blue.
4.00
Fantail
Egg shape body with long doubled or short tail fins. They are somewhat hardy fish. These are the starting point of all the fancy goldfish.
4.50
Pearlscale
Egg shaped goldfish but normally their mid region is much larger than most of the other egg shaped goldfish. The scales have a pearl raised appearance. They come in many different colors.
6.00
Oranda
Egg shaped body with head growth (wen). The wen growth should be well developed. Fin length should be long and flowing.
12.00


About startup
Matrox material design multi-purpose html template. It comes with huge content and background variants. Matrox is coming very soon. We are nearly there.
Have any question?
You can use contact form below or contact us via e-mail at<EMAIL_ADDRESS>Contact form is fully working and very easy to customise.


Before Change
nailgun = None
port_parse_start = time.time()
with _safe_open(self._ng_out, "r") as ng_out:
while not nailgun:
started = ng_out.readline()
if started:
port = self._parse_nailgun_port(started)
with open(self._pidfile, "a") as pidfile:
pidfile.write(":%d\n" % port)
nailgun = self._create_ngclient(port, workunit)
log.debug("Detected ng server up on port %d" % port)
elif time.time() - port_parse_start > nailgun_timeout_seconds:
raise NailgunError("Failed to read ng output after %s seconds" % nailgun_timeout_seconds)
attempt = 0
while nailgun:
sock = nailgun.try_connect()
if sock:
sock.close()
log.info("Connected to ng server pid: %d @ port: %d" % self._get_nailgun_endpoint())
return nailgun
elif attempt > max_socket_connect_attempts:
raise NailgunError("Failed to connect to ng output after %d connect attempts"
% max_socket_connect_attempts)
attempt += 1
After Change
max_socket_connect_attempts = 10
start = time.time()
endpoint = self._get_nailgun_endpoint()
while endpoint is None:
if time.time() - start > nailgun_timeout_seconds:
raise NailgunError("Failed to read ng output after %s seconds" % nailgun_timeout_seconds)
time.sleep(0.1)
endpoint = self._get_nailgun_endpoint()
port = endpoint[1]
nailgun = self._create_ngclient(port, workunit)
log.debug("Detected ng server up on port %d" % port)


Pathogen : Chicken pox virus (voricella)
Mode of transmission : By contact or through scabs
Incubation period : 12-20 days
There is no vaccine against chicken pox as yet. But precautions must be taken as follows:
One attack of chicken pox gives life long immunity to the person recovered from this disease.
Pathogen : Virus (Rubeola)
Mode of transmission : By air
Incubation period : 3-5 days
Pathogen : Polio Virus
Mode of transmissions : Virus enters inside the body through food or water
Incubation period : 7-14 days
Polio vaccine drop (oral polio vaccine, OPV) are given to children at certain intervals.
Pulse polio programme is organised in our country to give polio vaccine to children.

Incubation period : 10 days to 1-3 months depending upon the distance of bite from Central Nervous System (CNS), that is the brain or spinal cord.
Pathogen : Hepatitis B virus.
Mode of Transmission : Mainly through contaminated water.
Incubation Period : Generally 15-160 days.
Influenza is caused by a virus which attacks our body’s cells, resulting in various effects depending on the strain of the virus.
Pathogen : A bacterium (Mycobacterium tuberculosis).
Mode of Transmission : airborne-discharged through sputum, cough and sneeze, of the infected person.
Incubation period : 2-10 weeks during which the bacteria produce a toxin, tuberculin.
Pathogen : A Bacillus rod-shaped bacterium (Salmonella typhi)
Mode of transmission : Through contaminated food and water
Incubation period : About 1-3 weeks
Pathogen : Comma shaped bacterium (Vibrio cholerae)
Mode of transmission : Contaminated food and water. Housefly is the carrier.
Incubation period : 6 hours to 2-3 days.
This disease generally occurs in children of 1-5 years of age.
Pathogen : Rod-shaped bacterium (Cornybacterium diphthereae)
Mode of Transmission : Through air (droplet infection)
Incubation period : 2-4 days
Pathogen : A bacterium (Mycobacterium leprae)
Mode of transmission : Prolonged contact with the infected person. Nasal secretions are the most likely infectious material for family contacts.
Incubation period : 1-5 years
Pathogen : Entamoeba histolytica
Mode of transmission : Contaminated food and water
Pathogen : Filarial worm (Wucheraria bancrofti)
Mode of transmission : Bites of mosquitoes - Aedes and Culex.
Mode of transmission: Contact (skin-to-skin contact with infected persons).
Appears as small, scattered, red spots which are most frequently found in the web of the fingers and areas of the thighs and arms where the skin is thin. Itching is most severe at night.
Mode of transmission: Droplet transmission.
Incubation period: Usually from 16 to 18 days, but cases may occur from 12 to 25 days after exposure.
Begins with a slight fever and nausea. Then painful swelling appears about the angle of the jaw and in front of the ear.
Mode of transmission: Direct and indirect (fomites) contact.
Osteoporosis is an age dependent disorder with loss of the normal density of bone. The bones become fragile and are easily fractured. Bones that are affected by osteoporosis can fracture with only a minor fall or injury. Elderly men and women are most susceptible because of hormonal changes which occur with advancing age.
Mode of spread Sexual contact with the infected person
Incubation period Symptoms of the disease occur in about 10-90 days after contraction, but generally noticed in 3-4 weeks after getting infected with the bacteria.
Modes of spread Having multiple sex partners increases the risk of contracting it. Any kind of unprotected sex is always a risk. Any kind of contact of sores with an infected person is also risky.
Incubation period About 2-5 days after getting infection.
Dengue is an acute fever caused by virus. It is of two types: (i) Dengue fever, (ii) Dengue hemorrhagic fever.
Dengue fever is characterized by an onset of sudden high fever, severe headache, pain behind the eyes and in the muscles and joints.
Dengue hemorrhagic fever is an acute infectious viral disease. It is an advanced stage of dengue fever. It is characterized by fever during the initial phase and other symptoms like headache, pain in the eye, joint pain and muscle pain, followed by signs of bleeding, red tiny spots on the skin, and bleeding from nose and gums.
Dengue spreads through the bite of an infected Aedes aegypti mosquito. The transmission of the disease occurs when a mosquito bites an infected person and subsequently bites a healthy person. In doing so, it transmits blood containing the virus to the healthy person and the person becomes infected with dengue. The first symptoms of the disease occur about 5 to 7 days after the infected bite.
Aedes mosquito rests indoors, in closets and other dark places, and is active during day time. Outside, it rests where it is cool and shaded. The female mosquito lays her eggs in stagnant water containers such as coolers, tyres, empty buckets, in and around homes, and other areas in towns or villages. These eggs become adults in about 10 days.
The time between the bite of a mosquito carrying dengue virus and the start of symptoms averages 4 to 6 days, with a range of 3 to 14 days.
Diagnosis is made through blood tests by scanning for antibodies against dengue viruses. In addition the blood platelet counts also get drastically reduced in the infected person.
Symptoms of Dengue fever
These include symptoms similar to dengue fever, plus other symptoms such as:
Following steps can be taken to prevent spread of dengue fever:
There is no specific treatment for dengue fever. Persons with dengue fever should rest and drink plenty of fluids. Dengue hemorrhagic fever is treated by replacing lost fluids. Some patients need blood transfusions to control bleeding.
COVID-19 is spread in three main ways:
People with COVID-19 have had a wide range of symptoms reported – ranging from mild symptoms to severe illness. Anyone can have mild to severe symptoms. People with these symptoms may have COVID-19: Fever or chills, Cough, Shortness of breath or difficulty breathing, Fatigue, etc.
To read about corona virus in detail - CLICK HERE
Mode of transmission : By bite of female Anopheles mosquitoes
Incubation period : Approximately 12 days
Dengue spreads through the bite of an infected Aedes aegypti mosquito.
To read about dengue in detail - CLICK HERE
Yoga asanas that can help in prevention of obesity are Vajrasana, Hastasana, Trikonasana, Ardha Matsyendrasana, etc.
Know moreYoga asanas that can help in prevention of diabetes are bhujangasana, Paschimottanasana, Pavanmuktasana, Ardha Matsyendrasana, etc.
Know moreYoga asanas that can help in prevention of asthma are Sukhasana, Chakrasana, Gomukhasana, Parvatasana, Bhujangasana, Matsyasana, etc.
Know moreYoga asanas that can help in prevention of Hypertension are tadasana, vajrasana, Pavanmuktasana, Ardha Chakrasana, Bhujangasana, Shavasana, etc.
Know moreYoga asanas that can help in prevention of backpain are Tadasana, Ardha Matsyendrasana, Vakrasana, Bhujangasana, Shalabhasana, etc.
Know moreHealthy habits prevent germs and infectious diseases from spreading. Learn, practice, and teach healthy habits.
Food can carry germs. Wash hands, utensils, and surfaces often when preparing any food, especially raw meat. Always wash fruits and vegetables. Cook and keep foods at proper temperatures. Don’t leave food out – refrigerate promptly.
One of the most important healthy habits to prevent the spread of germs is to clean your hands. Our hands can carry germs, so it is important to wash them often, even if they don’t look dirty.
Make sure to clean your hands before and after:
Clean your hands after these actions:
Touching frequently touched areas (doorknobs) or contaminated items (dirty laundry or dishes).
*When helping a child, wash their hands first, and then your own.
*Although not as effective as washing one’s hands with soap and water or using hand sanitizer, pre-moistened cleansing towelettes with at least 60% alcohol content can be an alternative.
Germs can live on surfaces. Cleaning with soap and water is usually enough. However, you should disinfect your bathroom and kitchen regularly. Disinfect other areas if someone in the house is ill. You can use an EPA certified disinfectant (look for the EPA registration number on the label) or a bleach solution.
If you are sick, the air that comes out of your mouth when you cough or sneeze may contain germs. Someone close by can breathe in your air, or touch a surface contaminated with your germs, and become ill. Cough or sneeze into a tissue or your shirt sleeve-not into your hands. Remember to throw away the tissue and wash your hands. You can wear a face mask when you are sick with a cough or sneezing illness.
Avoid sharing personal items that can’t be disinfected, like toothbrushes and razors, or sharing towels between washes. Needles should never be shared, should only be used once, and then thrown away properly.
Vaccines can prevent many infectious diseases. You should get some vaccinations in childhood, some as an adult, and some for special situations like pregnancy and travel. Make sure you and your family are up-to-date on your vaccinations. If your regular doctor does not offer the vaccine you need, visit the Adult Immunization and Travel Clinic.
You and your pets should avoid touching wild animals which can carry germs that cause infectious diseases. If you are bitten, talk to your doctor. Make sure that your pet’s vaccinations are up-to-date.
When you are sick, stay home and rest. You will get well sooner, and will not spread germs.


The Fama-French 5-Factor model comprises two more factors:
RMW was proposed by Novy-Marx (2013) who wrote that: "Controlling for gross profitability explains most earnings related anomalies, and a wide range of seemingly unrelated profitable trading strategies." CMA was proposed by Fama and French (2014). The article pointed out that: "A five-factor model directed at capturing the size, value, profitability, and investment patterns in average stock returns is rejected on the GRS test, but for applied purposes it provides an acceptable description of average returns." Finally, momentum is another commonly used factor. It captures excess returns of stocks with highest returns over those with lowest returns


A fun font for fun people! Amatica SC began as an offshoot of the popular Amatic SC family by Vernon Adams. Ben Nathan, an Israeli designer, added a Hebrew component and adjusted the Latin in many ways, particularly to widen the letter-spacing to better fit the Hebrew.
The Amatica project is led by Ben Nathan, a type designer based in Tel Aviv, Israel. To contribute, see github.com/hafontia/Amatica-sc


--- layout: default title: "Fugitive Verses" ---
Fugitive Verses presents transcribed, lightly-encoded editions of poems widely reprinted in nineteenth-century US, UK, and Australian newspapers as discovered through the Viral Texts Project at Northeastern University. For more information about the selection, transcription, or other aspects of these poems see the edition about page, or view the full reprint clusters in this growing table.


It is a program to regulate the level of diabetes for children with diabetes around the world (type 1) in an interactive, fun and interesting way, in addition to sugar reports and approximate analyzes, and equipped with artificial intelligence techniques to discover food


test - Any integer calculation. The calculation result of test must be a number that
indexes into the list that follows. Because the index is a 0-based index, the test result must be 0 to access the first result.
FileMaker Pro evaluates test to obtain an index number, which is used to choose the corresponding ordinal result.
Because Choose is a 0-based list, the first item on the list is indexed 0 and the second item on the list is indexed 1. For example, if test evaluates to 2, then result2 is chosen.
Rating is a number field that is empty or holds a value. If Rating is empty or 0, the Choose function returns
Not Applicable. If Rating is 1, the result is
Good. If Rating is 2, the result is
Fair, and if it is 3, the result is
Poor. If Rating contains a value that does not map to one of the result parameters, the
Choose function returns nothing.


Colored counter: 0
Set color:
Increment counter: Increment
example 2 from the article "Boiling React Down to a Few Lines in jQuery" by Alexander Schepanovski


In the previous activity, we modeled a bouncing ball with Python. There, we focused our efforts mainly on writing an energy conserving update scheme that evolved the ball forward in time. In this activity, we will sharpen other Python skills that will be useful in numerical modeling. To do this, we will be modeling the double pendulum.
The double pendulum is an extension of the simple pendulum. The double pendulum we'll be simulating consists of one pendulum with a bob attached to its end and attached to this bob is a second bob on a second pendulum, see the image below. We won't derive the equations of motion for this system here (the Wikipedia article goes into more detail for those interested). The trajectory of the double pendulum is very different from the simple pendulum. Predicting the motion solely form the initial configuration is very difficult and in most cases impossible. This sensitivity to initial conditions tells us that the double pendulum is a system which exhibits chaotic motion. We will try to get a feel for the motion of the double pendulum by numerically modeling it and animating its motion.
For this activity we'll be focusing on two pieces of the Python code, the Bob Class and the plotting functions. Before we dive into the code, remember to use all available resources if you get stuck with any Python syntax. Some good resources are Google, the Python documentation and the Codecademy glossary.
Download the code and open it in your Python environment. Give it a quick read through and identify where the "Fix me!" lines are. The structure of this program is the same as the bouncing ball program. You'll notice that we aren't using our update_leapfrog function from that activity. Instead we'll be using one of SciPy's integration packages, odeint.
Classes are Python's implementation of Object-Orientated Programming. They allow programmers to "bundle up" related variables and functions into one overarching object. The class we'll be working with contains all of the information of each bob at the end of a pendulum. We'll call it the Bob class. The Bob class holds the position, velocity, mass and rod length of each pendulum.
Go to the top of the program and look for the definition of the Bob class. Notice that there are several "Fix Me!" lines that need to be fixed. Here we're just setting some of the variables inside the Bob class to the user defined values. Follow the example of completed lines to fill in the missing code in the Bob class.
Once we've initialized our pendulum, we want it to print out its properties. We can do this by calling the display_values function that is inside the Bob class. Complete the print statement inside the display_values function so that it displays the pendulum's length, mass, and initial angle.
Now that our Bob class is complete we can move on to plotting.
One of the main advantages of using Python for scientific computing is its plotting library, matplotlib. This allows you to quickly and easily view your data in many different ways. For our double pendulum simulator, we'll be using the plot function. This function is the general plotting function for Python. It takes a list of x-values and a list of y-values as inputs and produces a graph of the data.
In the function initialize_plots(), find the first line that has a "FIX ME!". It should look like this,
Once this line is fixed, it should plot the double pendulum as three connected points. Right now, the plot function isn't plotting anything. Plot the xlist and ylist variables by inserting them into the blank space after plot( . Look at the examples of the other plot functions for guidance.
Additionally, we want the line that connects the points to be thick. We can tell the plot function to do this by passing it the keyword argument, linewidth. Set the linewidth equal to 3 in the final blank space of the plot function. As an example, look at how we set the markersize variable to 10.
Now that we've completed our program, we can run our model of the double pendulum. The idea is the same as for the bouncing ball model: we numerically integrate the equations of motion and display the results.
To load in all of the functions hit the Run button in Canopy. If you had errors in the lines you fixed, you'll have to go back and fix them before you can run the model. If your script loaded without errors, then call the evolve function to start the simulation. The evolve function takes the initial lengths, masses, and angles of the two bobs.
To check that our model makes sense in the case of a simple pendulum, call the evolve function with the second mass set to zero, evolve( 1 , 1 , 1 , 0 , 0.6, 0, 25, 0.1). Your output should look similar to this,
Let's test out another configuration, but this time we'll make the bobs of equal mass. Call the evolve function with the same arguments as before, but change the mass of the second bob to 1, evolve( 1 , 1 , 1 , 1 , 0.6, 0, 25, 0.1). What has changed? What effect did increasing the mass of the second bob have? Make a prediction for what will happen when you continue to increase the mass of the second bob. Test your prediction by calling the evolve function with the mass of the second bob equal to 10, and then equal to 100. Was your prediction correct?
Let's look at the case of the inverted pendulum, i.e a pendulum where the bobs are at the top rather than at the bottom. The inverted pendulum is an example of an unstable equilibrium where the slightest nudge will send it swinging down. Call the evolve function again but this time set the initial angles of the two bobs so that they are at the top. Your output should look similar to this,
How does this motion compare with the cases from before? How would you describe the motion of the red bob?
Now that you've got a feel for how to use the model. Try out different configurations and see how regular or periodic the motion is. Try varying the lengths of the pendula or their starting angles.
If you want to do more coding, try changing the color of the lines and the size of the bobs in the plots. A more challenging exercise would be to convert the program into a collection of classes, i.e take all of the simulation functions and put them into a Simulation class.


{% extends "../layout.html" %} {% block page_title %} Service Green {% endblock %} {% block content %} {% include "../includes/phase_banner_beta.html" %} Home Browse Job categories Distribution and storage Distribution and storage Warehouse worker Job categories Animal care and agriculture Beauty and wellbeing Business and finance Caring Computing, technology and digital Construction and manufacturing Creative and media Distribution and storage Emergency and uniform services Engineering Health Law and administration Retail and sales Science and research Sports and leisure Teaching and education Tourism and hopitality Trades and maintenance Transport {% endblock %}


hoyai package¶
Submodules¶
hoyai.celery module¶
hoyai.settings module¶
Django settings for hoyai project.
Generated by ‘django-admin startproject’ using Django 1.10.2.
For more information on this file, see https://docs.djangoproject.com/en/1.10/topics/settings/
For the full list of settings and their values, see https://docs.djangoproject.com/en/1.10/ref/settings/
-
hoyai.settings.
CELERYD_HIJACK_ROOT_LOGGER
= False¶ How to Logging
- log types :
- log level debug -> debug, info, error, critical log level info -> info, error, critical log level error -> error, critical log level critical -> critical
- log file path :
- /root/main_debug.log
- usages :
- import logging logging.debug(“log leval : {0}”.format(‘debug’)) logging.info(“log leval : {0}”.format(‘info’)) logging.error(“log leval : {0}”.format(‘error’)) logging.critical(“log leval : {0}”.format(‘critical’))
hoyai.urls module¶
hoyai URL Configuration
- The urlpatterns list routes URLs to views. For more information please see:
- https://docs.djangoproject.com/en/1.10/topics/http/urls/
Examples: Function views
- Add an import: from my_app import views
- Add a URL to urlpatterns: url(r’^$’, views.home, name=’home’)
- Class-based views
- Add an import: from other_app.views import Home
- Add a URL to urlpatterns: url(r’^$’, Home.as_view(), name=’home’)
- Including another URLconf
- Import the include() function: from django.conf.urls import url, include
- Add a URL to urlpatterns: url(r’^blog/’, include(‘blog.urls’))
hoyai.wsgi module¶
WSGI config for hoyai project.
It exposes the WSGI callable as a module-level variable named application
.
For more information on this file, see https://docs.djangoproject.com/en/1.10/howto/deployment/wsgi/


CoverStory
Help
See your code coverage.
CoverStory opens .gcov files produced by the gcov code coverage command line tool.
Learn about CoverStory
See all CoverStory topics
gcov man page


Use the interactive charts below to explore the dataset
This dashboard is for an analysis demographically indicating for belly button biodiversity data from volunteers. Use the filter bar can look up bacterial species for each volunteer.
This bar chart is showing the Top 10 bacterial species (OTUs) for the volunteer's sample selected.
This gauge chart is showing the weekly washing frequency of the volunteer's sample selected. Measure from 0-10.
This bubble chart is showing the sample values of all bacterial species (OTUs) on the selected volunteer sample.


Goal
Win Place Show is an app used to predict the winner of the triple crown. Using Data taken from races in 2017 and 2018 we can predict the winner of each of the 2019 races. We cover each horse in all three triple crown races, The Kentucky Derby, Preakness Stakes, and Belmont Stakes. To get started just click on Find a Race or navigate to our login page using the menu in the top left.
Right
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce risus nibh, gravida nec felis quis, facilisis facilisis lectus. Nulla ac orci pretium, condimentum orci quis, accumsan nisi. Aliquam erat volutpat. Curabitur cursus mattis libero, at viverra risus hendrerit quis. Fusce imperdiet tristique tortor non tincidunt. Mauris accumsan urna nec augue feugiat porta. Proin vitae.


INTERNATIONAL DAY OF YOGA
International Yoga Day is celebrated on 21st June throughout the world. For the first time it was celebrated on 21 June, 2015. As, we all know environment is changing and the world is becoming more competent yoga help us to deal with this type of environment and also makes us healthy. It is observed on 21st June every year to spread awareness about the importance and effects of yoga on the health of the people. The word 'yoga' is derived from Sanskrit which means to join or to unite.
Yoga is an ancient physical, mental and spiritual practice which gives calmness, peace, confidence and courage to the people through which they can do several activities in a better way. At every level of existence it is a state of harmony. Yoga is praciced in various forms around the world. For the first time International Day of Yoga was celebrated on 21 June 2015. This initiative was taken by the Prime Minister of India Narendra Modi by giving an impactful speech related to yoga on 27 September 2014 in the United Nations General Assembly and for this reason, on 21 June, it was declared as "International Yoga Day". The proposal to celebrate the International Yoga Day on 21 June in the United States was approved by 193 members on 11 December 2014.
What is the importance of yoga in daily life?
Yogic exercises recharge the body with cosmic energy and facilitates:
  *   Attainment of perfect equilibrium and harmony
  *   Enhances personal power
  *   Promotes self- healing
  *   Removes negative blocks from the mind and toxins from the body
  *   Yoga to live with greater awareness
  *   Helps in attention, focus and concentration, especially important for children
  *   Reduces stress and tension in the physical body by activating the parasympathetic nervous system
Benefits of Yoga
                The art of practicing yoga helps in controlling an individual’s mind, body and soul. It brings together physical and mental disciplines to achieve a peaceful body and mind; it helps manage stress and anxiety and keeps you relaxing. It also helps in increasing flexibility, muscle strength and body tone. It improves respiration, energy and vitality. Practicing yoga might seem like just stretching, but it can do much more for your body from the way you feel, look and move. Yoga asanas build strength, flexibility and confidence. Regular practice of yoga can help lose weight, relieve stress, improve immunity and maintain a healthier lifestyle.
            Yoga lowers blood sugar and LDL ("bad") cholesterol and boosts HDL ("good") cholesterol. In people with diabetes, yoga has been found to lower blood sugar in several ways: by lowering cortisol and adrenaline levels, encouraging weight loss, and improving sensitivity to the effects of insulin.  An important component of yoga is focusing on the present. Studies have found that regular yoga practice improves coordination, reaction time, memory, and even IQ scores. People who practice Transcendental Meditation demonstrate the ability to solve problems and acquire and recall information better—probably because they're less distracted by their thoughts, which can play over and over like an endless tape loop.
BMI Calculator
Calculates Your current BMI
Nutrition Calculator
calculates the total calories consumed
Exercise Timer
Calculates the time while exercising
Fitness
This Website supports fitness for every individual


The framework can can create a virtual complex network with virtual agents that can interact with each other. This can be used for example to study the spread of an epidemic over this simulated network and compare it with a phenomenon in the real world. Agent-based simulation tools generally operate on a simple topology such as grids or lattices, but this framework goes beyond this limitation by providing support for simulation over complex topologies (i.e. any kind of non-regularly connected graph). In addition, this project is not limited to a static network, but also takes into account temporal networks, where processes can dynamically change the underlying network structure over time.
This document explains the creation of a new programming tool for simulating complex problems. The project allows people with a background in programming to simulate a situation, in which people, animals, computers, or abstract agents connect to each other arbitrarily. To give two concrete examples, it allows to simulate how a disease spreads in an human population, and it can simulate how connected computer servers that provide a service (such as Skype) can suddenly fail. It does this by creating virtual agents with a certain behaviour that are interconnected, and where behaviour and connections can change over time.
Imagine we take a social network of people, and one person has a disease. This person can now infect their friends with that disease. For this scenario we write a small model consisting of code for:
- A network graph (e.g. a scale-free network)
- An agent specification (e.g. spread disease on random neighbour)
- Some output parameters (e.g. red colour for infected)
- (optional) A network structure evolution (e.g. change links between agents)
then this project produces a visualisation of how the disease spreads in the network. (animated gif! - but it also produces static images)
and a plot showing the evolution of infected people:
The result data used for plotting and animation can of course also be used for integration in other analysis.
An agent-based simulation (ABS) is a system of multiple autonomous agents that interact with each other. We can think of these agents to for example represent people or animals, but they can also represent something more abstract. In an ABS, each agent has a state (e.g. alive or dead) and a defined behaviour (e.g. transmit a disease when infected). The simulation then lets these agents interact with each other, and looks at the overall change in agent states.
Complex networks are a type of graphs consisting of nodes and edges like any other graph, but they tend to represent something specific taken from the real world, such as people and friendship links, or the topology of a P2P network. Many different systems such as power grids, ecosystems, or the brain can be represented as a complex network.
In basic agent-based simulations, the rules as to which agent is allowed to interact with which other agents are very simple: Either every agent can interact with every other agent, or agents are limited in their interaction with their neighbouring agents, as if agents were living on a chessboard (see e.g. for an overview of agent-based simulations). Clearly, these rules are not a very realistic scenario, so this project tries to address this issue by modeling the connections of the agents as a complex network, thus supporting *any* network topology underneath the simulation environment.
The main goal of this project hence was to implement a framework for agent-based simulations over complex networks, i.e. building support to run any kind of complex simulations based on a specific network topology. A secondary goal was to then create one or two simulation models representing a specific scenario.
Quick links to


--- title: Blogging on Google App Engine tags: app engine, python meta: google app engine, gae, python, blogging abstract: Google App Engine can be used as a host for your blog. This site is currently hosted on App Engine. Out of the multiple options available over the internet (related to blogging on GAE), I found only a couple that were near my requirements and easily customizable. In this post, I discuss the options that I found and the one that I chose and the changes related to this site. date: 2013-01-27 ---
Google App Engine can be used as a host for your blog. This site is currently hosted on App Engine. Out of the multiple options available over the internet (related to blogging on GAE), I found only a couple that were near my requirements and easily customizable.
I moved on from a shared-hosting solution to GAE's infrastructure. Apart from GAE's excellent infrastructure - we also save on monthly/yearly hosting charges. Domain mapping to GAE is simple with the instructions and so is moving to the GMail for<EMAIL_ADDRESS>.
Being a developer, it is also a good learning experience about creating and maintaining GAE applications. And (as a developer) it is easier to add tightly integrated functionality on your site without having to create plugins or do any kind of cross-site integration. Obviously you miss out on some or most of the out-of-the-box functionality that is available with most blogging engines like Wordpress.
While looking for a blogging on app-engine solution - I got down to two options that could be used as the base-code to begin customization
Nick's blog (the first option) looked simplistic and fast. I definitely learnt a lot from that blog and the articles over there. But when it came to my requirements and ease of customization, the second option Micolog felt much better.
If I had to redo everything again - I would use Nick's blog code as a template for three reasons:
One of the better things about Micolog is its Wordpress tyoe of python implementation on GAE. Most of my early customizaitons were at creating a new theme. The secondary customizations were related to the core stuff that included some db-model changes.
You can find the source-code at GitHub
Some of the enhancements made to this:
Source-code at GitHub
In case you wish to run this, make sure you rename "cdml.z" to "app.yaml", and rename application name to yours.


Your OpenWeatherMap API key:
Send
Temperature (℃)
Wind speed (m/s)
Wind direction
Cloud cover (%)
Precip. prob. (%)
Test for colours


GeoMesa Development¶
This chapter describes how to build GeoMesa from source and provides an overview of the process of developing GeoMesa.
Using Maven¶
The GeoMesa project uses Apache Maven as a build tool. The Maven project’s Maven in 5 Minutes provides a quick introduction to getting started with its mvn executable.
Building from Source¶
These development tools are required:
- Java JDK 8
- Apache Maven 3.2.2 or better
- A
git
client
The GeoMesa source distribution may be cloned from GitHub:
$ git clone https://github.com/locationtech/geomesa.git
$ cd geomesa
This downloads the latest development version. To check out the code for the latest stable release
($VERSION
= 1.3.5):
$ git checkout tags/geomesa-$VERSION -b geomesa-$VERSION
Building and dependency management for GeoMesa is handled by Maven (http://maven.apache.org/).
The Maven pom.xml
file in the root directory of the source distribution contains an explicit
list of dependent libraries that will be bundled together for each module of the program.
Note
The only reason dependent libraries are bundled into the final JAR is to make it easier to deploy files rather than setting the classpath. If you would rather not bundle these dependencies, mark them as “provided” in the POM, and update your classpath as appropriate.
The versions of Accumulo supported in GeoMesa 1.3.x are Accumulo 1.7 or 1.8:
$ mvn clean install
The skipTests property may be used to speed compilation. Set it to true
to omit the test phase of the build process:
$ mvn clean install -DskipTests=true
To compile for Bigtable, use the bigtable
profile.
$ mvn clean install -Pbigtable
The build/mvn
script is a wrapper around Maven that builds the project using the Zinc
(https://github.com/typesafehub/zinc) incremental compiler:
$ build/mvn clean install
Scala¶
For the most part, GeoMesa is written in Scala, and is compiled with Scala 2.11.7.
Using the Scala Console¶
To test and interact with core functionality, the Scala console can be invoked in a couple of ways. For example, by running this command in the root source directory:
$ cd geomesa-accumulo
$ mvn -pl geomesa-accumulo-datastore scala:console
The Scala console will start, and all of the project packages in geomesa-accumulo-datastore
will be loaded along
with JavaConversions
and JavaConverters
.
Scala 2.10 Support¶
GeoMesa uses Scala 2.11 by default. To build for Scala 2.10, run:
$ build/change-scala-version.sh 2.10
This will update the project poms to publish artifacts with a _2.10 suffix. Then build normally using Maven.
GeoMesa Project Structure¶
- geomesa-accumulo: the implementations of the core Accumulo indexing structures, Accumulo iterators, and the GeoTools interfaces for exposing the functionality as a
DataStore
to both application developers and GeoServer. Assembles a jar with dependencies that must be distributed to Accumulo tablet servers lib/ext directory or to an HDFS directory where Accumulo’s VFSClassLoader can pick it up. - geomesa-accumulo-compute: utilities for working with distributed computing environments. Currently, there are methods for instantiating an Apache Spark Resilient Distributed Dataset from a CQL query against data stored in GeoMesa. Eventually, this project will contain bindings for traditional map-reduce processing and other environments.
- geomesa-accumulo-gs-plugin: provides WFS and WMS support for GeoServer. Install by extracting into geoserver/WEB-INF/lib/.
- geomesa-accumulo-jobs: map/reduce jobs for maintaining GeoMesa.
- geomesa-accumulo-raster: adds support for ingesting and working with geospatially-referenced raster data in GeoMesa.
- geomesa-blobstore: an Accumulo-based store designed to store and retrieve files which have spatio-temporal data associated with them.
- geomesa-cassandra: an implementation of GeoMesa on Apache Cassandra.
- geomesa-cassandra-gs-plugin: provides WFS and WMS support for GeoServer. Install by extracting into geoserver/WEB-INF/lib/.
- geomesa-convert: a configurable and extensible library for converting data into SimpleFeatures.
- geomesa-features: includes code for serializing SimpleFeatures and custom SimpleFeature implementations designed for GeoMesa.
- geomesa-filter: a library for manipulating and working with GeoTools Filters.
- geomesa-hbase: an implementation of GeoMesa on HBase and Google Cloud Bigtable.
- geomesa-hbase-gs-plugin: provides WFS and WMS support for GeoServer. Install by extracting into geoserver/WEB-INF/lib/.
- geomesa-index-api: common structure and methods for indexing and querying simple features.
- geomesa-kafka: an implementation of GeoMesa in Kafka for maintaining near-real-time caches of streaming data.
- geomesa-kafka-gs-plugin: provides WFS and WMS support for GeoServer. Install by extracting into geoserver/WEB-INF/lib/.
- geomesa-logger: logging facade for scala version compatibility.
- geomesa-metrics: extensions and configuration for dropwizard metrics integration.
- geomesa-native-api: a non-GeoTools-based API for persisting and querying data in GeoMesa Accumulo.
- geomesa-process: analytic processes optimized on GeoMesa data stores.
- geomesa-security: adds support for managing security and authorization levels for data stored in GeoMesa.
- geomesa-stream: a GeoMesa library that provides tools to process streams of SimpleFeatures.
- geomesa-tools: a set of command line tools for managing features, ingesting and exporting data, configuring tables, and explaining queries in GeoMesa.
- geomesa-utils: stores our GeoHash implementation and other general library functions unrelated to Accumulo. This sub-project contains any helper tools for geomesa. Some of these tools such as the GeneralShapefileIngest have Map/Reduce components, so the geomesa-utils JAR lives on HDFS.
- geomesa-web: web services for accessing GeoMesa.
- geomesa-z3: the implementation of Z3, GeoMesa’s space-filling Z-order curve.


So what makes a good question? We ask them all the time (if we are smart). But how do we know we are asking the right ones? Or phrasing them in such a way so others understand what we are asking? There are a lot of different things that come into play. In my experience, the biggest disconnect between the asker and the answerer is two things.
Jargon is a huge barrier for questions. It sounds silly, but even within America we have colloquialisms that can hinder the questioning process. I am from the Southeast of the USA. I am now working with people predominately from the west coast. There are things that I say that they have no idea what I am talking about. When I go to ask things, I need to take a step back and think about my words. What other meanings do they have? Sometimes you need to simplify your words as much as possible to make sure people know what you are talking about.
The real killer to questions is not understanding your audience's background and thought processes. I think we often jump to conclusions in our heads based on our experiences and knowledge base that our audience doesn't have. I know that I do it all the time. I think the only way to get around this is to think about what your audience is hearing from you and how they are processing it. This can be a difficult exercise but it does help you not only ask better questions but also learn more about your audience.


#import <Character.h>
◆ accessoryBottomCharacter
| - (NSString*) accessoryBottomCharacter |
|
readwritenonatomicstrong |
◆ accessoryPrimaryCharacter
| - (NSString*) accessoryPrimaryCharacter |
|
readwritenonatomicstrong |
◆ accessorySecondaryCharacter
| - (NSString*) accessorySecondaryCharacter |
|
readwritenonatomicstrong |
◆ accessoryTopCharacter
| - (NSString*) accessoryTopCharacter |
|
readwritenonatomicstrong |
◆ ageCharacter
| - (NSNumber*) ageCharacter |
|
readwritenonatomicstrong |
◆ browColor
◆ bubbleColor
| - (NSString*) bubbleColor |
|
readwritenonatomicstrong |
◆ bubbleType
◆ eyeCharacter
| - (NSString*) eyeCharacter |
|
readwritenonatomicstrong |
◆ eyeColor
◆ faceCharacter
| - (NSString*) faceCharacter |
|
readwritenonatomicstrong |
◆ mouthCharacter
| - (NSString*) mouthCharacter |
|
readwritenonatomicstrong |
◆ nameCharacter
| - (NSString*) nameCharacter |
|
readwritenonatomicstrong |
◆ sizeCharacter
| - (NSDecimalNumber*) sizeCharacter |
|
readwritenonatomicstrong |
◆ story
The documentation for this class was generated from the following file:
- /Users/adamaxe/Workspace/projects/teamaxe/code/moralife/Classes/Model/Generated/Character.h


Use the <input>
or the <textarea>
as a child of an <md-input-container>
.
Behaves like the AngularJS input directive.
| Parameter | Type | Description |
|---|---|---|
md-maxlength
number
|
number |
The maximum number of characters allowed in this input. If this is specified, a character counter will be shown underneath the input. |
aria-label
string
|
string |
Aria-label is required when no label is present. A warning message will be logged in the console if not present. |
placeholder
string
|
string |
An alternative approach to using aria-label when the label is not present. The placeholder text is copied to the aria-label attribute. |


Preparation time
less than 30 mins
Cooking time
10 to 30 mins
Serves
Serves 2
Warm up with this homely, comforting bean and sausage hotpot served with melting cheese toasts.
Heat one tablespoon of olive oil in a frying pan over a medium heat. Add the sausages and mushrooms and fry for ten minutes until browned and the sausages are just half cooked. Remove from the pan and, when cool enough to handle, cut the sausages into thick slices.
Heat the remaining olive oil in the same pan and fry the bacon and garlic for 2-3 minutes or until the bacon is cooked and the garlic softened. Add the leeks and fry gently for five minutes or until the leeks are softened.
Stir in the tomatoes and tomato purée and simmer for five minutes then pour in the beef stock. Return the sausages and mushrooms to the pan and simmer for 5-10 minutes or until the sausages are completely heated through and cooked.
Stir in the cannellini beans and kidney beans and heat through.
Meanwhile, cook the broccoli in a pan of boiling salted water for 3-4 minutes until tender then drain.
Preheat the grill to medium and toast the slices of bread on one side. Turn the toast and sprinkle the other side with the grated cheese then return to the grill until melted and bubbling.
Spoon the sausage and bacon one-pot into a warm serving bowl, put the broccoli on top and garnish with parsley. Serve with the grilled cheese toast on the side.


Dialogs
Showing dialogs
Simple dialog
Alert dialog
From template
Toggle Toast
Notifications
Alert
Confirmation
Prompt
This is a dialog.
Close
Warning!
An error has occurred!
This dialog was created from a template.
Close
This is an Onsen Toast!
Hoge


We use information you provide to personalise your experience,
including displaying your name on the website.
This website also collects other information about you or your web browser, including your IP address and the date and time of your visit.
Other than what is outlined below, we will not share this information with any third parties, unless required by law.
Cookies and/or other tracking information may be used to monitor website performance and make improvements.
Third party vendors, including Google, use cookies to serve ads based on your prior visits to this website or other websites.
You can opt out of Google's ad cookies by visiting this link and updating the settings.
We may update this privacy policy in future by posting changes here.


This template is for discovering and monitoring Intel RST (Intel VROC) storage controllers. Works with zabbix 4.2 and higher. Template uses action with zabbix API.
Instuctions is on github page
https://github.com/mykolq/zabbix_intel_rst_template
| Name | Description | Default | Type |
|---|---|---|---|
| {$INTERNAL_ITEMS_HISTORY_PERIOD} |
Time interval for saving data. For debagging use you can set not null
 | 0 |
Text macro |
| {$INTERNAL_ITEMS_REQUEST_PERIOD} |
Time interval for getting internal information for template. Like driver version for controllers
 | 60m |
Text macro |
| {$LD_HIGH_SEVERITY_STATES} |
Logical disks high severity states (using in regex of triggers)
 | Degraded|Failed |
Text macro |
| {$LD_INFORMATION_SEVERITY_STATES} |
Logical disks information severity states (using in regex of triggers)
 | Initializing |
Text macro |
| {$LD_RECOVERY_STATES} |
Logical disks recovery states (using in regex of triggers)
 | Normal |
Text macro |
| {$LD_THROTTLING_HB_PERIOD} |
Logical disk throttling heartbeat period
 | 3h |
Text macro |
| {$LD_WARNING_SEVERITY_STATES} |
Logical disks warning severity states (using in regex of triggers)
 | Rebuilding|Verify and Fix |
Text macro |
| {$PD_HIGH_SEVERITY_STATES} |
Physical disks high severity states (using in regex of triggers)
 | Missing|Failed|Smart event triggered |
Text macro |
| {$PD_INFORMATION_SEVERITY_STATES} |
Physical disks information severity states
 | need to set it |
Text macro |
| {$PD_RECOVERY_STATES} |
Physicall disks recovery states (using in regex of triggers)
 | Normal |
Text macro |
| {$PD_THROTTLING_HB_PERIOD} |
Physical disk throttling heartbeat period
 | 3h |
Text macro |
| {$PD_WARNING_SEVERITY_STATES} |
Physicall disks warning severity states (using in regex of triggers)
 | Verify|Rebuilding |
Text macro |
| {$STOR_CTRL_REQUEST_PERIOD} |
Time interval for getting all information from storage contrroller
 | 5m |
Text macro |
There are no template links in this template.
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Physical disks discovery |
-
 | Dependent item |
pdlld
Update: 0
 |
| Logical disks discovery |
-
 | Dependent item |
ldlld
Update: 0
 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Intel RST All Info |
Get all info from rst controller(cli path + ‘I’ key)
 | Zabbix agent |
irst.allinfo[{$IRST_CLI}]
Update: {$STOR_CTRL_REQUEST_PERIOD}
 |
| Intel RST All Pds LLD info |
JSON for lld of physical disks and for SMART template
 | Dependent item |
irst.SMART.lld
Update: 0
 |
| Intel RST All Lds info |
-
 | Dependent item |
irst.ld
Update: 0
 |
| RST cli path |
Path to needed version of utility (depends on driver version)
 | Zabbix agent |
wmi.get[root\cimv2,select DriverVersion from Win32_PnPSignedDriver WHERE DriverProviderName like ‘%Intel%’ and DeviceClass like ‘SCSIADAPTER’ and not DeviceName like ‘%Ethernet Virtual Storage%’]
Update: {$INTERNAL_ITEMS_REQUEST_PERIOD}
 |
| Intel RST All Pds info |
-
 | Dependent item |
irst.pd
Update: 0
 |
| Physical disk “{#SLOT}” serial number |
-
 | Dependent item |
irst.pd.sn.[”{#SLOT}”]
Update: 0

LLD
 |
| Physical disk “{#SLOT}” state |
-
 | Dependent item |
irst.pd.state.[”{#SLOT}”]
Update: 0

LLD
 |
| Physical disk “{#SLOT}” usage |
-
 | Dependent item |
irst.pd.usage.[”{#SLOT}”]
Update: 0

LLD
 |
| Logical disk “{#LDNAME}” level |
-
 | Dependent item |
irst.raid.level.[{#LDNAME}]
Update: 0

LLD
 |
| Logical disk “{#LDNAME}” disks count |
-
 | Dependent item |
irst.raid.pdcount.[{#LDNAME}]
Update: 0

LLD
 |
| Logical disk “{#LDNAME}” state |
-
 | Dependent item |
irst.raid.state.[{#LDNAME}]
Update: 0

LLD
 |
| Name | Description | Expression | Priority | ||
|---|---|---|---|---|---|
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE1}”. LD level: {ITEM.VALUE2} Disks count: {ITEM.VALUE3} |
-
 |
Expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Degraded | Failed)}=1 and {Intel RST with js:irst.raid.level.[{#LDNAME}].last()}>0 and {Intel RST with js:irst.raid.pdcount.[{#LDNAME}].last()}>0

Recovery expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Normal)}=1
 | high | |
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE}” |
-
 |
Expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Initializing)}=1

Recovery expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Normal)}=1
 | information | ||
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE}” |
-
 |
Expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Rebuilding | Verify and Fix,#1)}=1 and {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Degraded | Failed,#3)}=0

Recovery expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Normal)}=1
 | warning |
| Intel RST: Logical disk “{#LDNAME}” state was changed from “Degraded” state to “{ITEM.VALUE}” |
-
 |
Expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Rebuilding | Verify and Fix,#1)}=1 and {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Degraded,#2)}=1

Recovery expression:
 | information | |
| Intel RST: Logical disk “{#LDNAME}” state was changed from “Failed” state to “{ITEM.VALUE}” |
-
 |
Expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Rebuilding | Verify and Fix,#1)}=1 and {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Failed,#2)}=1

Recovery expression:
 | information | |
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE1}”. Disk SN is “{ITEM.VALUE2}” |
-
 |
Expression: {Intel RST with js:irst.pd.state.[”{#SLOT}”].iregexp(need to set it)}=1 and {Intel RST with js:irst.pd.sn.[”{#SLOT}”].strlen()}>0

Recovery expression:
 | information | ||
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE1}”. Disk SN is “{ITEM.VALUE2}” |
-
 |
Expression: {Intel RST with js:irst.pd.state.[”{#SLOT}”].iregexp(Verify | Rebuilding)}=1 and {Intel RST with js:irst.pd.sn.[”{#SLOT}”].strlen()}>0

Recovery expression: {Intel RST with js:irst.pd.state.[”{#SLOT}”].iregexp(Normal)}=1
 | warning | |
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE}”. Disk SN is “{ITEM.VALUE2}” |
-
 |
Expression: {Intel RST with js:irst.pd.state.[”{#SLOT}”].iregexp(Missing | Failed | Smart event triggered)}=1 and {Intel RST with js:irst.pd.sn.[”{#SLOT}”].strlen()}>0

Recovery expression: {Intel RST with js:irst.pd.state.[”{#SLOT}”].iregexp(Normal)}=1
 | high |
| Intel RST: Physical disk “{#SLOT}” was replaced by sn “{ITEM.VALUE}” |
-
 |
Expression: {Intel RST with js:irst.pd.sn.[”{#SLOT}”].diff()}=1 and {Intel RST with js:irst.pd.sn.[”{#SLOT}”].strlen()}>2

Recovery expression:
 | information | ||
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE1}”. Disk SN is “{ITEM.VALUE2}” (LLD) |
-
 |
Expression: {Intel RST with js:irst.pd.state.[”{#SLOT}”].iregexp(need to set it)}=1 and {Intel RST with js:irst.pd.sn.[”{#SLOT}”].strlen()}>0

Recovery expression:
 | information | ||
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE1}”. Disk SN is “{ITEM.VALUE2}” (LLD) |
-
 |
Expression: {Intel RST with js:irst.pd.state.[”{#SLOT}”].iregexp(Verify | Rebuilding)}=1 and {Intel RST with js:irst.pd.sn.[”{#SLOT}”].strlen()}>0

Recovery expression: {Intel RST with js:irst.pd.state.[”{#SLOT}”].iregexp(Normal)}=1
 | warning | |
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE}”. Disk SN is “{ITEM.VALUE2}” (LLD) |
-
 |
Expression: {Intel RST with js:irst.pd.state.[”{#SLOT}”].iregexp(Missing | Failed | Smart event triggered)}=1 and {Intel RST with js:irst.pd.sn.[”{#SLOT}”].strlen()}>0

Recovery expression: {Intel RST with js:irst.pd.state.[”{#SLOT}”].iregexp(Normal)}=1
 | high |
| Intel RST: Physical disk “{#SLOT}” was replaced by sn “{ITEM.VALUE}” (LLD) |
-
 |
Expression: {Intel RST with js:irst.pd.sn.[”{#SLOT}”].diff()}=1 and {Intel RST with js:irst.pd.sn.[”{#SLOT}”].strlen()}>2

Recovery expression:
 | information | ||
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE1}”. LD level: {ITEM.VALUE2} Disks count: {ITEM.VALUE3} (LLD) |
-
 |
Expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Degraded | Failed)}=1 and {Intel RST with js:irst.raid.level.[{#LDNAME}].last()}>0 and {Intel RST with js:irst.raid.pdcount.[{#LDNAME}].last()}>0

Recovery expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Normal)}=1
 | high | |
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE}” (LLD) |
-
 |
Expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Initializing)}=1

Recovery expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Normal)}=1
 | information | ||
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE}” (LLD) |
-
 |
Expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Rebuilding | Verify and Fix,#1)}=1 and {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Degraded | Failed,#3)}=0

Recovery expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Normal)}=1
 | warning |
| Intel RST: Logical disk “{#LDNAME}” state was changed from “Degraded” state to “{ITEM.VALUE}” (LLD) |
-
 |
Expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Rebuilding | Verify and Fix,#1)}=1 and {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Degraded,#2)}=1

Recovery expression:
 | information | |
| Intel RST: Logical disk “{#LDNAME}” state was changed from “Failed” state to “{ITEM.VALUE}” (LLD) |
-
 |
Expression: {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Rebuilding | Verify and Fix,#1)}=1 and {Intel RST with js:irst.raid.state.[{#LDNAME}].regexp(Failed,#2)}=1

Recovery expression:
 | information |
This template is for discovering and monitoring Intel RST (Intel VROC) storage controllers. Works with zabbix 4.2 and higher. Template uses action with zabbix API.
Instuctions is on github page
https://github.com/mykolq/zabbix_intel_rst_template
| Name | Description | Default | Type |
|---|---|---|---|
| {$INTERNAL_ITEMS_HISTORY_PERIOD} |
Time interval for saving data. For debagging use you can set not null
 | 0 |
Text macro |
| {$INTERNAL_ITEMS_REQUEST_PERIOD} |
Time interval for getting internal information for template. Like driver version for controllers
 | 60m |
Text macro |
| {$LD_HIGH_SEVERITY_STATES} |
Logical disks high severity states (using in regex of triggers)
 | Degraded|Failed |
Text macro |
| {$LD_INFORMATION_SEVERITY_STATES} |
Logical disks information severity states (using in regex of triggers)
 | Initializing |
Text macro |
| {$LD_RECOVERY_STATES} |
Logical disks recovery states (using in regex of triggers)
 | Normal |
Text macro |
| {$LD_THROTTLING_HB_PERIOD} |
Logical disk throttling heartbeat period
 | 3h |
Text macro |
| {$LD_WARNING_SEVERITY_STATES} |
Logical disks warning severity states (using in regex of triggers)
 | Rebuilding|Verify and Fix |
Text macro |
| {$PD_HIGH_SEVERITY_STATES} |
Physical disks high severity states (using in regex of triggers)
 | Missing|Failed|Smart event triggered |
Text macro |
| {$PD_INFORMATION_SEVERITY_STATES} |
Physical disks information severity states
 | need to set it |
Text macro |
| {$PD_RECOVERY_STATES} |
Physicall disks recovery states (using in regex of triggers)
 | Normal |
Text macro |
| {$PD_THROTTLING_HB_PERIOD} |
Physical disk throttling heartbeat period
 | 3h |
Text macro |
| {$PD_WARNING_SEVERITY_STATES} |
Physicall disks warning severity states (using in regex of triggers)
 | Verify|Rebuilding |
Text macro |
| {$STOR_CTRL_REQUEST_PERIOD} |
Time interval for getting all information from storage contrroller
 | 5m |
Text macro |
There are no template links in this template.
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Logical disks discovery |
-
 | Dependent item |
ldlld
Update: 0
 |
| Physical disks discovery |
-
 | Dependent item |
pdlld
Update: 0
 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| RST cli path |
Path to needed version of utility (depends on driver version)
 | Zabbix agent |
wmi.get[root\cimv2,select DriverVersion from Win32_PnPSignedDriver WHERE DriverProviderName like ‘%Intel%’ and DeviceClass like ‘SCSIADAPTER’ and not DeviceName like ‘%Ethernet Virtual Storage%’]
Update: {$INTERNAL_ITEMS_REQUEST_PERIOD}
 |
| Intel RST All Info |
Get all info from rst controller(cli path + ‘I’ key)
 | Zabbix agent |
irst.allinfo[{$IRST_CLI}]
Update: {$STOR_CTRL_REQUEST_PERIOD}
 |
| Intel RST All Pds LLD info |
JSON for lld of physical disks and for SMART template
 | Dependent item |
irst.SMART.lld
Update: 0
 |
| Intel RST All Lds info |
-
 | Dependent item |
irst.ld
Update: 0
 |
| Intel RST All Pds info |
-
 | Dependent item |
irst.pd
Update: 0
 |
| Logical disk “{#LDNAME}” level |
-
 | Dependent item |
irst.raid.level.[{#LDNAME}]
Update: 0

LLD
 |
| Logical disk “{#LDNAME}” disks count |
-
 | Dependent item |
irst.raid.pdcount.[{#LDNAME}]
Update: 0

LLD
 |
| Logical disk “{#LDNAME}” state |
-
 | Dependent item |
irst.raid.state.[{#LDNAME}]
Update: 0

LLD
 |
| Physical disk “{#SLOT}” serial number |
-
 | Dependent item |
irst.pd.sn.[”{#SLOT}”]
Update: 0

LLD
 |
| Physical disk “{#SLOT}” state |
-
 | Dependent item |
irst.pd.state.[”{#SLOT}”]
Update: 0

LLD
 |
| Physical disk “{#SLOT}” usage |
-
 | Dependent item |
irst.pd.usage.[”{#SLOT}”]
Update: 0

LLD
 |
| Name | Description | Expression | Priority | ||
|---|---|---|---|---|---|
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE1}”. LD level: {ITEM.VALUE2} Disks count: {ITEM.VALUE3} |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Degraded | Failed”)=1 and last(/Intel RST with js/irst.raid.level.[{#LDNAME}])>0 and last(/Intel RST with js/irst.raid.pdcount.[{#LDNAME}])>0

Recovery expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Normal”)=1
 | high | |
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE}” |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Initializing”)=1

Recovery expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Normal”)=1
 | information | ||
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE}” |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#1,”regexp”,”Rebuilding | Verify and Fix”)=1 and find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#3,”regexp”,”Degraded | Failed”)=0

Recovery expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Normal”)=1
 | warning |
| Intel RST: Logical disk “{#LDNAME}” state was changed from “Degraded” state to “{ITEM.VALUE}” |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#1,”regexp”,”Rebuilding | Verify and Fix”)=1 and find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#2,”regexp”,”Degraded”)=1

Recovery expression:
 | information | |
| Intel RST: Logical disk “{#LDNAME}” state was changed from “Failed” state to “{ITEM.VALUE}” |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#1,”regexp”,”Rebuilding | Verify and Fix”)=1 and find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#2,”regexp”,”Failed”)=1

Recovery expression:
 | information | |
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE1}”. Disk SN is “{ITEM.VALUE2}” |
-
 |
Expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”need to set it”)=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>0

Recovery expression:
 | information | ||
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE1}”. Disk SN is “{ITEM.VALUE2}” |
-
 |
Expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Verify | Rebuilding”)=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>0

Recovery expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Normal”)=1
 | warning | |
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE}”. Disk SN is “{ITEM.VALUE2}” |
-
 |
Expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Missing | Failed | Smart event triggered”)=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>0

Recovery expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Normal”)=1
 | high |
| Intel RST: Physical disk “{#SLOT}” was replaced by sn “{ITEM.VALUE}” |
-
 |
Expression: (last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”],#1)<>last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”],#2))=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>2

Recovery expression:
 | information | ||
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE1}”. LD level: {ITEM.VALUE2} Disks count: {ITEM.VALUE3} (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Degraded | Failed”)=1 and last(/Intel RST with js/irst.raid.level.[{#LDNAME}])>0 and last(/Intel RST with js/irst.raid.pdcount.[{#LDNAME}])>0

Recovery expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Normal”)=1
 | high | |
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Initializing”)=1

Recovery expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Normal”)=1
 | information | ||
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#1,”regexp”,”Rebuilding | Verify and Fix”)=1 and find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#3,”regexp”,”Degraded | Failed”)=0

Recovery expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Normal”)=1
 | warning |
| Intel RST: Logical disk “{#LDNAME}” state was changed from “Degraded” state to “{ITEM.VALUE}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#1,”regexp”,”Rebuilding | Verify and Fix”)=1 and find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#2,”regexp”,”Degraded”)=1

Recovery expression:
 | information | |
| Intel RST: Logical disk “{#LDNAME}” state was changed from “Failed” state to “{ITEM.VALUE}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#1,”regexp”,”Rebuilding | Verify and Fix”)=1 and find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#2,”regexp”,”Failed”)=1

Recovery expression:
 | information | |
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE1}”. Disk SN is “{ITEM.VALUE2}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”need to set it”)=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>0

Recovery expression:
 | information | ||
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE1}”. Disk SN is “{ITEM.VALUE2}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Verify | Rebuilding”)=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>0

Recovery expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Normal”)=1
 | warning | |
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE}”. Disk SN is “{ITEM.VALUE2}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Missing | Failed | Smart event triggered”)=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>0

Recovery expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Normal”)=1
 | high |
| Intel RST: Physical disk “{#SLOT}” was replaced by sn “{ITEM.VALUE}” (LLD) |
-
 |
Expression: (last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”],#1)<>last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”],#2))=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>2

Recovery expression:
 | information |
This template is for discovering and monitoring Intel RST (Intel VROC) storage controllers. Works with zabbix 4.2 and higher. Template uses action with zabbix API.
Instuctions is on github page
https://github.com/mykolq/zabbix_intel_rst_template
| Name | Description | Default | Type |
|---|---|---|---|
| {$INTERNAL_ITEMS_HISTORY_PERIOD} |
Time interval for saving data. For debagging use you can set not null
 | 0 |
Text macro |
| {$INTERNAL_ITEMS_REQUEST_PERIOD} |
Time interval for getting internal information for template. Like driver version for controllers
 | 60m |
Text macro |
| {$LD_HIGH_SEVERITY_STATES} |
Logical disks high severity states (using in regex of triggers)
 | Degraded|Failed |
Text macro |
| {$LD_INFORMATION_SEVERITY_STATES} |
Logical disks information severity states (using in regex of triggers)
 | Initializing |
Text macro |
| {$LD_RECOVERY_STATES} |
Logical disks recovery states (using in regex of triggers)
 | Normal |
Text macro |
| {$LD_THROTTLING_HB_PERIOD} |
Logical disk throttling heartbeat period
 | 3h |
Text macro |
| {$LD_WARNING_SEVERITY_STATES} |
Logical disks warning severity states (using in regex of triggers)
 | Rebuilding|Verify and Fix |
Text macro |
| {$PD_HIGH_SEVERITY_STATES} |
Physical disks high severity states (using in regex of triggers)
 | Missing|Failed|Smart event triggered |
Text macro |
| {$PD_INFORMATION_SEVERITY_STATES} |
Physical disks information severity states
 | need to set it |
Text macro |
| {$PD_RECOVERY_STATES} |
Physicall disks recovery states (using in regex of triggers)
 | Normal |
Text macro |
| {$PD_THROTTLING_HB_PERIOD} |
Physical disk throttling heartbeat period
 | 3h |
Text macro |
| {$PD_WARNING_SEVERITY_STATES} |
Physicall disks warning severity states (using in regex of triggers)
 | Verify|Rebuilding |
Text macro |
| {$STOR_CTRL_REQUEST_PERIOD} |
Time interval for getting all information from storage contrroller
 | 5m |
Text macro |
There are no template links in this template.
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| Logical disks discovery |
-
 | Dependent item |
ldlld
Update: 0
 |
| Physical disks discovery |
-
 | Dependent item |
pdlld
Update: 0
 |
| Name | Description | Type | Key and additional info |
|---|---|---|---|
| RST cli path |
Path to needed version of utility (depends on driver version)
 | Zabbix agent |
wmi.get[root\cimv2,select DriverVersion from Win32_PnPSignedDriver WHERE DriverProviderName like ‘%Intel%’ and DeviceClass like ‘SCSIADAPTER’ and not DeviceName like ‘%Ethernet Virtual Storage%’]
Update: {$INTERNAL_ITEMS_REQUEST_PERIOD}
 |
| Intel RST All Info |
Get all info from rst controller(cli path + ‘I’ key)
 | Zabbix agent |
irst.allinfo[{$IRST_CLI}]
Update: {$STOR_CTRL_REQUEST_PERIOD}
 |
| Intel RST All Pds LLD info |
JSON for lld of physical disks and for SMART template
 | Dependent item |
irst.SMART.lld
Update: 0
 |
| Intel RST All Lds info |
-
 | Dependent item |
irst.ld
Update: 0
 |
| Intel RST All Pds info |
-
 | Dependent item |
irst.pd
Update: 0
 |
| Logical disk “{#LDNAME}” level |
-
 | Dependent item |
irst.raid.level.[{#LDNAME}]
Update: 0

LLD
 |
| Logical disk “{#LDNAME}” disks count |
-
 | Dependent item |
irst.raid.pdcount.[{#LDNAME}]
Update: 0

LLD
 |
| Logical disk “{#LDNAME}” state |
-
 | Dependent item |
irst.raid.state.[{#LDNAME}]
Update: 0

LLD
 |
| Physical disk “{#SLOT}” serial number |
-
 | Dependent item |
irst.pd.sn.[”{#SLOT}”]
Update: 0

LLD
 |
| Physical disk “{#SLOT}” state |
-
 | Dependent item |
irst.pd.state.[”{#SLOT}”]
Update: 0

LLD
 |
| Physical disk “{#SLOT}” usage |
-
 | Dependent item |
irst.pd.usage.[”{#SLOT}”]
Update: 0

LLD
 |
| Name | Description | Expression | Priority | ||
|---|---|---|---|---|---|
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE1}”. LD level: {ITEM.VALUE2} Disks count: {ITEM.VALUE3} |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Degraded | Failed”)=1 and last(/Intel RST with js/irst.raid.level.[{#LDNAME}])>0 and last(/Intel RST with js/irst.raid.pdcount.[{#LDNAME}])>0

Recovery expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Normal”)=1
 | high | |
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE}” |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Initializing”)=1

Recovery expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Normal”)=1
 | information | ||
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE}” |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#1,”regexp”,”Rebuilding | Verify and Fix”)=1 and find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#3,”regexp”,”Degraded | Failed”)=0

Recovery expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Normal”)=1
 | warning |
| Intel RST: Logical disk “{#LDNAME}” state was changed from “Degraded” state to “{ITEM.VALUE}” |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#1,”regexp”,”Rebuilding | Verify and Fix”)=1 and find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#2,”regexp”,”Degraded”)=1

Recovery expression:
 | information | |
| Intel RST: Logical disk “{#LDNAME}” state was changed from “Failed” state to “{ITEM.VALUE}” |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#1,”regexp”,”Rebuilding | Verify and Fix”)=1 and find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#2,”regexp”,”Failed”)=1

Recovery expression:
 | information | |
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE1}”. Disk SN is “{ITEM.VALUE2}” |
-
 |
Expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”need to set it”)=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>0

Recovery expression:
 | information | ||
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE1}”. Disk SN is “{ITEM.VALUE2}” |
-
 |
Expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Verify | Rebuilding”)=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>0

Recovery expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Normal”)=1
 | warning | |
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE}”. Disk SN is “{ITEM.VALUE2}” |
-
 |
Expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Missing | Failed | Smart event triggered”)=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>0

Recovery expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Normal”)=1
 | high |
| Intel RST: Physical disk “{#SLOT}” was replaced by sn “{ITEM.VALUE}” |
-
 |
Expression: (last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”],#1)<>last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”],#2))=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>2

Recovery expression:
 | information | ||
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE1}”. LD level: {ITEM.VALUE2} Disks count: {ITEM.VALUE3} (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Degraded | Failed”)=1 and last(/Intel RST with js/irst.raid.level.[{#LDNAME}])>0 and last(/Intel RST with js/irst.raid.pdcount.[{#LDNAME}])>0

Recovery expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Normal”)=1
 | high | |
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Initializing”)=1

Recovery expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Normal”)=1
 | information | ||
| Intel RST: Logical disk “{#LDNAME}” is “{ITEM.VALUE}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#1,”regexp”,”Rebuilding | Verify and Fix”)=1 and find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#3,”regexp”,”Degraded | Failed”)=0

Recovery expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],,”regexp”,”Normal”)=1
 | warning |
| Intel RST: Logical disk “{#LDNAME}” state was changed from “Degraded” state to “{ITEM.VALUE}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#1,”regexp”,”Rebuilding | Verify and Fix”)=1 and find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#2,”regexp”,”Degraded”)=1

Recovery expression:
 | information | |
| Intel RST: Logical disk “{#LDNAME}” state was changed from “Failed” state to “{ITEM.VALUE}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#1,”regexp”,”Rebuilding | Verify and Fix”)=1 and find(/Intel RST with js/irst.raid.state.[{#LDNAME}],#2,”regexp”,”Failed”)=1

Recovery expression:
 | information | |
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE1}”. Disk SN is “{ITEM.VALUE2}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”need to set it”)=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>0

Recovery expression:
 | information | ||
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE1}”. Disk SN is “{ITEM.VALUE2}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Verify | Rebuilding”)=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>0

Recovery expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Normal”)=1
 | warning | |
| Intel RST: Physical disk “{#SLOT}” is “{ITEM.VALUE}”. Disk SN is “{ITEM.VALUE2}” (LLD) |
-
 |
Expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Missing | Failed | Smart event triggered”)=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>0

Recovery expression: find(/Intel RST with js/irst.pd.state.[”{#SLOT}”],,”iregexp”,”Normal”)=1
 | high |
| Intel RST: Physical disk “{#SLOT}” was replaced by sn “{ITEM.VALUE}” (LLD) |
-
 |
Expression: (last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”],#1)<>last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”],#2))=1 and length(last(/Intel RST with js/irst.pd.sn.[”{#SLOT}”]))>2

Recovery expression:
 | information |


Control how the device is configured after any reboot, power-up, or reset condition. This uses the device's I/O configuration system to configure registers including but not limited to:
Refer to the "IO Config" section of the datasheet for more information.
Currently no devices are selected so this module has been disabled. Please Select a device to continue.
{{/if}}


"A beautiful, atmospheric game with a lot of heart."
"A fresh,
clever take on adventure gaming."
"Traps you between suspense and beauty…"
©2016 Campo Santo, in cooperation with Panic.
Firewatch is a trademark of Campo Santo.
"A beautiful, atmospheric game with a lot of heart."
"A fresh,
clever take on adventure gaming."
"Traps you between suspense and beauty…"
©2016 Campo Santo, in cooperation with Panic.
Firewatch is a trademark of Campo Santo.