Photovoltaic (PV) energy use has been increasing recently, mainly due to new policies all over the world to reduce the application of fossil fuels. PV system efficiency is highly dependent on environmental variables, besides being affected by several kinds of faults, which can lead to a severe energy loss throughout the operation of the system. In this sense, we present a Monitoring System (MS) to measure the electrical and environmental variables to produce instantaneous and historical data, allowing to estimate parameters that ar related to the plant efficiency. Additionally, using the same MS, we propose a recursive linear model to detect faults in the system, while using irradiance and temperature on the PV panel as input signals and power as output. The accuracy of the fault detection for a 5 kW power plant used in the test is 93.09%, considering 16 days and around 143 hours of faults in different conditions. Once a fault is detected by this model, a machine-learning-based method classifies each fault in the following cases: short-circuit, open-circuit, partial shadowing, and degradation. Using the same days and faults applied in the detection module, the accuracy of the classification stage is 95.44% for an Artificial Neural Network (ANN) model. By combining detection and classification, the overall accuracy is 92.64%. Such a result represents an original contribution of this work, since other related works do not present the integration of a fault detection and classification approach with an embedded PV plant monitoring system, allowing for the online identification and classification of different PV faults, besides real-time and historical monitoring of electrical and environmental parameters of the plant.